带有移动亮点的OpenGl照明问题

带有移动亮点的OpenGl照明问题,opengl,lighting,Opengl,Lighting,该程序当前加载.obj文件,并有一个小型碰撞系统。我还测试了一些无缝地面。现在来谈谈这里描述的问题 “地面”上有一个点正好反射上面的光。我不知道这是灯光还是通过.obj文件加载的材料的问题。该灯的代码为: float col[]={1.0,1.0,1.0,1.0}; float col1[]={0.3,0.3,0.3,1.0}; float col2[]={0.8,0.8,0.8,1.0}; float pos[]={0.0,10.0,0.0, 1.0}; float spotDir[] ={

该程序当前加载.obj文件,并有一个小型碰撞系统。我还测试了一些无缝地面。现在来谈谈这里描述的问题

“地面”上有一个点正好反射上面的光。我不知道这是灯光还是通过.obj文件加载的材料的问题。该灯的代码为:

float col[]={1.0,1.0,1.0,1.0};
float col1[]={0.3,0.3,0.3,1.0};
float col2[]={0.8,0.8,0.8,1.0};
float pos[]={0.0,10.0,0.0, 1.0};
float spotDir[] ={0.0, -1.0, 0.0};

glLightfv(GL_LIGHT0,GL_DIFFUSE,col2);
glLightfv(GL_LIGHT0, GL_AMBIENT, col1);
glLightfv(GL_LIGHT0, GL_SPECULAR, col);
glLightfv(GL_LIGHT0, GL_POSITION, pos);
glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spotDir);
glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 90.0);
一个点亮的聚光灯也会随着相机移动,这取决于您从哪个角度观察它。另一个问题是,立方体的边缘在没有照明的一侧看起来像撕裂,但我不知道是什么原因造成的,我再次认为这是一个照明问题


有没有办法摆脱这个问题?

看起来像镜面反射的高光。只需将镜面反射颜色调零,就完成了


顺便说一句,这就是光在现实世界中的工作原理。

看起来像镜面反射的高光。只需将镜面反射颜色调零,就完成了


顺便说一句,这就是光在现实世界中的工作方式。

是的,我知道这就是它们在现实生活中的工作方式,但就我而言,现实主义让它看起来有点奇怪。谢谢。是的,我知道这就是他们在现实生活中的工作方式,但就我而言,现实主义让他们看起来有点奇怪。谢谢