Хорошо, прежде всего: я не эксперт по OpenGL ES 2.0.Я был как бы в той же ситуации, когда хотел выполнить настройку многопроходного рендеринга в одном из моих первых приложений OpenGL ES.
Я также использовал Оранжевую книгу.Проверьте главу 12.Framebuffer Objects> Примеры .Первый пример демонстрирует, как использовать кадровый буфер для рендеринга в текстуру, а затем рисует эту текстуру на экране.
В основном, используя этот пример, я создал приложение, которое рендерит некоторую геометрию в текстуру с помощью шейдера эффектов, а затем рендерит эту текстуру на экран, наложенный слой с другим содержимым, используя другой шейдер.
Я не уверен, что это лучший подход, но он работает для моих целей.Моя настройка:
- Я создаю два кадровых буфера, по умолчанию и закадровый.То же самое для рендеринга буфера
- Я создаю текстуру, которую приложение будет отображать на
- Я привязываю закадровый кадровый буфер и присоединяю к нему текстуру, используя glFramebufferTexture2D
Myрендеринг:
- привязка закадрового кадрового буфера.
- использование моей первой программы шейдера
- рисование моей геометрии
- связывание буфера кадров по умолчанию
- используйте мою вторую шейдерную программу
- нарисуйте полноэкранный квад с прикрепленной к нему текстурой.