我正在尝试使用glRotatef旋转空间中的特定对象。我不太确定它在底层是如何工作的,所以我不确定我为对象的顶点设置的法向量是否会随着顶点坐标一起旋转。我只需要知道它是否确实也会旋转法向量。
我正在尝试使用glRotatef旋转空间中的特定对象。我不太确定它在底层是如何工作的,所以我不确定我为对象的顶点设置的法向量是否会随着顶点坐标一起旋转。我只需要知道它是否确实也会旋转法向量。
简短回答:是的,否则程序员将很难受。
更详细的解释:在经典OpenGL中(不是使用着色器的现代3/4版),顶点和法线会受到当前MODELVIEW矩阵的影响(颜色和纹理坐标没有影响)。因此除了旋转外,还有平移,但它没有影响,因为法线是向量。还有缩放,可能会改变法线的长度,从而影响照明计算。因此,如果您正在对受光照的模型进行缩放,则可能需要
glEnable(GL_NORMALIZE)