Есть ли способ в OpenGL ES выполнять плоское затенение без повторения каждой вершины для каждого треугольника?
В обычном OpenGL это делается с помощью glShadeModel
, но в ES я пишу шейдеры, так что все не так просто.
GLSL 1.3 или 1.4 (не уверен) вводит ключевое слово flat
, которые, похоже, позволяют это сделать, но, к сожалению, в ES 2.0 этого еще нет.
Еще один способ сделать это - использовать функции dFdx
, dFdy
, которые, увы, также отсутствуют в ES.