为什么法线较大的顶点会显得更暗?

时间:2012-05-20 08:47:50

标签: opengl

当未使用GL_NORMALIZE时,如果我们使用正因子(较大的物体和较长的法线)缩放对象(及其法线),则对象会显得较暗。

我希望较大的法线在照明方程中具有更大的cos(照明角度)项,从而使物体更轻。

那为什么反过来呢?

(我通过JOGL使用OpenGL v1.1)

1 个答案:

答案 0 :(得分:3)

在转换时,法线不像普通点那样处理;它们使用用于转换点的矩阵的逆转置进行转换,并删除转换组件。对于固定管道,GL由GL自动处理。

对于缩放,这具有使用反向幅度缩放法线的效果。因此,在GL_NORMALIZE关闭的情况下使对象变大会使法线的幅度变小,因此光照计算会产生较暗的颜色。

至于为什么法线以这种方式转换,this page充分解释了它。还this one