OpenGL - glVertex заменяет нарисованные точки? - PullRequest
0 голосов
/ 05 мая 2011

Что происходит в следующем коде OpenGL?

glNormal3f( nx1, ny1, nz1 )
glVertex3f( x1,y1,z1 )
glNormal3f( nx2, ny2, nz2 ) //different Normal
glVertex3f( x1,y1,z1 )      //same vector

На словах:
У меня есть точка с нормалью. Если я снова создаю точку с другой нормалью, точка изменит свой старый вектор нормали или проигнорирует последний вызов?

Этот вопрос возник, когда я пытался сделать сферу с освещением более плавным способом. используя нормали.

Ответы [ 2 ]

1 голос
/ 05 мая 2011

glNormal3f() просто устанавливает текущий нормальный, который будет оставаться таким до следующего вызова glNormal3f().

Каждый glVertex3f() копирует текущие нормальные, цветовые и текстурные координаты и передает полную вершину в очередь команд GL.

0 голосов
/ 05 мая 2011

Он просто нарисует оба в одном и том же месте.За кулисами нет магии, когда точки «распознаются» как находящиеся в одном и том же месте, обновляющие нормали и тому подобное.

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