此程序当前加载.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);
一个亮点随着相机的移动而移动,取决于你从哪个角度看。另一个问题是在未点亮的侧面上的立方体的边缘显示看起来像撕裂的东西,但我不知道是什么原因导致它,再次我认为这是一个照明问题。
关于如何摆脱这种想法?
答案 0 :(得分:1)
这看起来像一个镜面高光。只需将你的镜面反射颜色归零即可。
顺便说一句,那就是光在现实世界中如何运作。