Нормалы в OpenGL ES - PullRequest
       0

Нормалы в OpenGL ES

0 голосов
/ 17 февраля 2011

Если у меня есть куб, ребра которого параллельны осям и центрированы в начале координат, верно ли, что нормали параллельны осям или, другими словами, только один компонент в векторе нормалей может быть ненулевым, а другой два компонента должны быть равны нулю? Если x, y, z - нормальный вектор, то если x не равен нулю, то y и z должны быть равны нулю?

В приложении OpenGL ES сколько нормалей необходимо для правильного освещения? Нужна ли нам одна нормаль на вершину, или одна нормаль на треугольник, или одна нормаль на поверхность?

Эти 2 строки кода связаны с этим вопросом:

gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
gl.glNormalPointer(GL10.GL_FLOAT, 0, mNormalBuffer);

Как OpenGL ES знает, какая норма соответствует какому треугольнику, вершине или поверхности рисуемой сетки?

1 Ответ

1 голос
/ 17 февраля 2011

Нормы задаются для каждой вершины и не должны быть параллельны оси (хотя они будут в случае вашего куба), они должны быть единичной длины и перпендикулярно поверхности, к которой приближается ваша сетка.

Проверьте этот ответ на аналогичный вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...