[C++] OpenGL - маска с несколькими текстурами


Answers

Question

Я реализовал маскирование в OpenGL в соответствии со следующей концепцией:

  • Маска состоит из черных и белых цветов.
  • Текстура переднего плана должна быть видна только в белых частях маски.
  • Фоновая текстура должна быть видна только в черных частях маски.

Я могу сделать белую часть или черную часть работать, как предполагалось, с помощью glBlendFunc (), но не одновременно, потому что слой переднего плана не только накладывается на маску, но также и на фоновый слой.

Есть ли кто-нибудь, кто знает, как это сделать наилучшим образом? Я искал сеть и читал что-то о флеш-шейдерах. Это путь?