GoogleTan
Картошка :3
- 1,354
- 43
- 310
Есть задача нарисовать текстуру, обрезав её по черно-белому шаблону. Я пробовала:
и так:
Где renderQuad рисует квадрат с заданной текстурой, используя тесселятор.
Но оба способа не дали ровным счётом ничего. Рисуется просто текстура. Как это можно сделать? Или где такое можно посмотреть?
Kotlin:
glEnable(GL_BLEND)
glBlendFunc(GL_ONE, GL_ZERO)
glBlendFuncSeparate(GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ZERO)
renderQuad(stack, MASK)
glBlendFunc(GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA)
renderQuad(stack, TEXTURE)
Kotlin:
glEnable(GL_STENCIL_TEST)
glStencilFunc(GL_ALWAYS, 1, 1)
glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE)
renderQuad(stack, MASK)
glEnable(GL_STENCIL_TEST)
glStencilFunc(GL_EQUAL, 1, 1)
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP)
renderQuad(stack, TEXTURE)
glDisable(GL_STENCIL_TEST)
Но оба способа не дали ровным счётом ничего. Рисуется просто текстура. Как это можно сделать? Или где такое можно посмотреть?
Последнее редактирование: