Быстрее ли связать 2 текстуры с одной или двумя FBO?
Я хочу запустить несколько шейдеров один за другим (в основном обработка изображений), вывод одного из которых является вводом следующего. Интересно, есть ли прирост производительности для использования только одного FBO, связанного со всеми необходимыми текстурами, или же это одно и то же для создания одного FBO для каждой текстуры?
В случае, если это имеет значение, целевой платформой является iPhone, поэтому с OpenGL ES 2.0.
Спасибо
1 ответ
Я не знаком с OpenGL ES, но на платформе ПК обычно лучше использовать только один FBO, и я не понимаю, почему это должно отличаться на ES (однако, я могу ошибаться). Однако важно, чтобы все связанные текстуры имели одинаковый размер (например, размер области просмотра) для полноты FBO, иначе это не сработает. Обычно вы сначала прикрепляете все текстуры к одному FBO, а затем в каждом кадре просто меняете канал рендеринга цели в каждом проходе. Это спасет вас от многих изменений состояния, вызванных привязкой fbo. Обратите внимание, что максимальное количество текстур, которые можно связать, ограничено GL_MAX_COLOR_ATTACHMENTS_EXT. Вы также можете найти это полезным: http://www.songho.ca/opengl/gl_fbo.html
Ура, Рейнхольд