Я пытаюсь выяснить, есть ли способ контролировать процесс смешивания во время рендеринга.Как программировать условное смещение opengl
Например: - есть фоновая текстура, спрайт1 и спрайт 2 (все частично накладываются). - sprite2 is white, background и sprite1 не имеют белых пикселей - Я хочу, чтобы спрайты смешивались с фоном, но не друг с другом.
Могу ли я каким-либо образом запрограммировать opengl для выполнения следующего для каждого пикселя? - проверить, если смешиваются 3 цвета и один из них белый, затем смешайте оставшу- 2 и игнорировать белый - если 2 цвета смешиваются и один из них белый, затем смесь регулярно
Является ли это то, что можно сделать с помощью шейдеров?
Это селективное смешивание , Вы можете делать в шейдерах, используя пользовательские фрейм-буферы. Точно так же сложно объяснить для начинающих OpenGL. Начните сначала с шейдеров и фреймбуферов. Вы можете найти glsl blending equationa в сети. –
Благодарим вас за совет, Майкл. Теперь я просматриваю фрейм-буферы и шейдеры и, похоже, приближаюсь к своей цели ... – Lez77