Вращает ли glRotatef нормальные направления? - PullRequest
2 голосов
/ 25 сентября 2019

Я пытаюсь повернуть определенный объект в пространстве с помощью glRotatef.Я не совсем уверен, как это работает под капотом, поэтому я не уверен, будут ли повернуты нормальные векторы, которые я установил для вершин объекта, вместе с координатами вершин.Мне просто нужно знать, действительно ли он вращает и нормали.

1 Ответ

2 голосов
/ 25 сентября 2019

Короткий ответ: Да, потому что иначе программистам было бы очень больно.

Дольше: в классическом OpenGL не современная 3/4 с шейдерами, вершинами и нормалями подвержена влиянию текущей матрицы MODELVIEW.(Цвета и текстурные координаты - нет.) Так же как и вращение, есть перевод, который не имеет никакого эффекта, потому что нормали являются векторами;и масштабирование, которое может изменить длину нормалей и, таким образом, сгладить ваши расчеты освещения.Так что, если вы масштабируете модели, которые освещены, вы можете

glEnable(GL_NORMALIZE)
...