如何避免光在OpenGL中旋转

How avoid light rotating in OpenGL?

本文关键字:旋转 OpenGL 何避免      更新时间:2023-10-16

在OpenGL中,我创建了一个旋转的简单立方体。我旋转的是立方体,而不是相机!

然后我加了一个光源。灯光也随立方体旋转。我怎样才能避免这种情况?

有人可以告诉我何时激活哪种矩阵模式以及何时推送和弹出当前矩阵吗?我已经尝试了很多很多的组合和序列,但该死的光总是(!)跟随旋转。

我不希望得到一个一般性的答案,只是说这与矩阵堆栈有关。一个带有非旋转光的旋转物体的具体简短示例会很棒!

光跟随旋转物体的一个可能原因是没有为物体定义(合适的)法向量。尽管光线和物体的运动编程正确,但错误或没有法线矢量会使整个场景看起来像光线跟随旋转物体。

为物体定义确定光如何反射的法线矢量可以解决这个问题。