Привет
Я хочу применить несколько эффектов обработки изображения к входной текстуре, используя OpenGL ES.
Мне удалось применить один эффект постобработки, используя Объект Framebuffer , но я не совсем понимаю, как, не повторяя каждый шаг моего шага моего процесса, я могу применить многочисленные эффекты постобработки без необходимости повторять каждый шаг каждый раз.
следующие шаги, которые я сейчас выполняю:
- Загрузка моего шейдера (ов) и получение нужного места для передачи моих данных
- Инициализация моего FBO
- Создание текстуры с использованием моих входных данных
- Привязка FBO
- Активация TEXTURE0 и привязка ранее созданной текстуры
- Отправка данных с использованием полученного местоположения
- Рисование полногоЭкран четырехъядерный и заставить его использовать мою программу шейдера
- Чтение текстуры FBO (с использованием glReadPixels) и сохранение результата в изображение
- Отмена привязки для очистки.
Из того, что я понимаю, мне нужно повторить шаг 5,6,7 с другим шейдером постобработки и используя текстуру, которую я наконец-то получил на шаге 8, но яНе думайте, что это правильный путь, так как это заставит меня читать данные из FBO в текстуру, а затем повторно передавать их, что действительно дорого.
Я что-то упустил?