如果你看这张照片:
您可以看到左右墙壁比其他墙壁更亮,还有椅子的面。 我想知道,这是法线问题吗?或者它可能只是照亮这些表面的光的位置?
在我的主要方法中,我只是这样做:
//enable lighting
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
//setup lighting
float lightColor [] = {1.0f, 0.8f, 0.8f,1.0f};
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, lightColor);
GLfloat lightpos[] = {2,2,4,4};
glLightfv(GL_LIGHT0,GL_POSITION, lightpos);
如果您需要查看法线,我可以上传,但我不确定它们是否有问题。
答案 0 :(得分:1)
看起来你的法线不是应该计算的。注意不同对象的相同方向侧是如何以不同方式点亮的。
我猜是这样的:
glEnable(GL_NORMALIZE)
?)如果没有看到您的实际代码,很难提出更多可能的原因。