OpenGL Lighting Quads

时间:2011-04-24 14:51:48

标签: c++ opengl lighting

只是一个简单的问题。我在3D OpenGL场景中有一个四边形。我逆时针定义了平面的法线。这样法线就指出了飞机的一侧。在我的光源方向。四边形很轻但两侧都很亮。

它不仅应该在四边形的一侧亮吗?或者是像四边形这样的图元是有限薄的,因此从两侧看起来很轻。所以,如果我想做一面墙,我会使用两个四边形。墙的每一边都有一个。

谢谢

1 个答案:

答案 0 :(得分:8)

双面多边形的默认OpenGL光照行为是计算正面的光照并将其应用于两侧。

你可以通过为每个双面多边形使用具有单独法线的正面和背面多边形来解决这个问题。

或者,您可以使用glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,GL_TRUE)启用GL_LIGHT_MODEL_TWO_SIDE进行光照计算。有关详细信息,请参阅glLightModel reference