Я реализовал маскирование в OpenGL в соответствии со следующей концепцией:
- Маска состоит из черных и белых цветов.
- Текстура переднего плана должна быть видна только в белых частях маски.
- Фоновая текстура должна быть видна только в черных частях маски.
Я могу заставить белую часть или черную часть работать, как предполагалось, с помощью glBlendFunc(), но не одновременно, потому что слой переднего плана не только накладывается на маску, но также и на фоновый слой.
Есть ли кто-нибудь, кто знает, как это сделать наилучшим образом? Я искал сеть и читал что-то о флеш-шейдерах. Это путь?