2014-02-11 2 views
0

Я пытаюсь выяснить, есть ли способ контролировать процесс смешивания во время рендеринга.Как программировать условное смещение opengl

Например: - есть фоновая текстура, спрайт1 и спрайт 2 (все частично накладываются). - sprite2 is white, background и sprite1 не имеют белых пикселей - Я хочу, чтобы спрайты смешивались с фоном, но не друг с другом.

Могу ли я каким-либо образом запрограммировать opengl для выполнения следующего для каждого пикселя? - проверить, если смешиваются 3 цвета и один из них белый, затем смешайте оставшу- 2 и игнорировать белый - если 2 цвета смешиваются и один из них белый, затем смесь регулярно

Является ли это то, что можно сделать с помощью шейдеров?

+0

Это селективное смешивание , Вы можете делать в шейдерах, используя пользовательские фрейм-буферы. Точно так же сложно объяснить для начинающих OpenGL. Начните сначала с шейдеров и фреймбуферов. Вы можете найти glsl blending equationa в сети. –

+0

Благодарим вас за совет, Майкл. Теперь я просматриваю фрейм-буферы и шейдеры и, похоже, приближаюсь к своей цели ... – Lez77

ответ

Смежные вопросы