伙计,怎么可能。但是在我以前的项目中,事实并非如此。而且我不知道如何尝试这种效果。请告诉我真相。
Section 18.050, How can I make my light move or not move and control the light position?:
首先,您必须了解灯光位置由OpenGL。
灯光位置由当前顶部的内容当您使用ModelView矩阵堆栈时通过电话指定灯光位置到
glLightfv( GL_LIGHTn, GL_POSITION, ... )
。如果以后更改ModelView矩阵,例如当视图改变时对于下一帧,灯光位置不会自动由重新转换ModelView的新内容矩阵。如果您要更新灯的位置,您必须再次通过电话指定灯光位置到glLightfv( GL_LIGHTn, GL_POSITION, ... )
。...
- 如何使灯光位置相对于我的眼睛保持固定位置?我如何制作头灯?
您需要指定眼睛的光线协调空间。为此,请设置以ModelView矩阵为单位,然后指定您的灯光位置。使前大灯(看起来像是放在眼睛附近或附近沿着视线闪耀),设置将ModelView设置为标识,将处(或附近)的照明位置原点,然后将方向设置为负Z轴。
当灯的位置固定时相对于眼睛,您不需要重新指定每一个的灯光位置帧。通常,您只需指定一次程序初始化时。