Изменить определенный цвет пикселя с помощью фрагмента / пиксельного шейдера?(opengl)

Есть ли способ изменить определенный цвет пикселя с помощью фрагмента / пиксельного шейдера? (как единообразная переменная?)

Чтобы быть конкретным, я пытаюсь реализовать тени с трассировкой лучей.

1 ответ

Решение

Если под пикселем вы подразумеваете фактический пиксель на экране, то вы можете добиться этого с помощью многоступенчатого рендеринга. Визуализируйте свою сцену в FBO (в текстуру), затем визуализируйте квад на экране с этой текстурой.

Если размер текстуры FBO будет точно таким же, как размер экрана, каждый вызов фрагментного шейдера будет хорошо соответствовать позиции экрана.

Другие вопросы по тегам