我已经使用 OpenGL 很多年了,但是在第一次尝试使用 D3D 之后,我浪费了大量时间试图弄清楚如何让我的场景灯光保持固定在世界上而不是固定在我的对象上。
在 OpenGL 中,灯光位置会像使用 MODELVIEW 矩阵的其他所有内容一样进行转换,因此要在空间中固定灯光,您可以按照您想要的灯光方式设置您的 MODELVIEW,然后调用 glLightPosition,然后为您的几何体设置它并进行几何体调用. 在 D3D 中这无济于事。
(评论——我最终想出了这个问题的答案,但我在网络或 MSDN 上找不到任何有用的东西。如果我当时能找到这个答案,它会节省我几个小时的时间。 )