Я создаю отложенный рендер и пытаюсь добиться этого с помощью FBO. Сначала я использовал 3 разных FBO (gbuffer, lbuffer и «screen»), и это сработало. Тем не менее, это было очень плохо в исполнении. Я читаю Вот что гораздо быстрее просто использовать ОДИН FBO и переключать текстуры с помощью glFramebufferTexture2D.
Проблема этой техники в том, что я получаю тонны необъяснимого и непредсказуемого поведения от текстур глубины (я делаю пилинг глубины и, следовательно, переключаюсь между двумя текстурами глубины). Кажется, что каждый раз, когда я переключаюсь с текстуры глубины A на текстуру B, A очищается до нуля и наоборот.
Кто-нибудь знает, если есть проблема с использованием glFramebufferTexture2D для переключения текстур глубины для того же FBO? Я использую gDebugger для проверки текстур.
Я занимаюсь разработкой в Visual C ++ 2010.
Задача ещё не решена.
Других решений пока нет …