Opengl 为什么法线越大的顶点越暗?

Opengl 为什么法线越大的顶点越暗?,opengl,Opengl,当未使用GL\u NORMALIZE时,如果我们使用正因子(较大的对象和较长的法线)缩放对象(及其法线),则该对象将显示为较暗 我希望较大的法线在照明方程中具有较大的cos(照明角度)项,从而使对象更轻 那么为什么是相反的呢 (我通过JOGL使用OpenGL v1.1)法线在转换时不像法线点那样处理;它们使用用于变换点的矩阵的逆转置进行变换,并移除平移分量。对于固定管道,这由总账自动处理 对于缩放,这具有使用反向幅值缩放法线的效果。因此,在禁用“GL_规格化”的情况下使对象变大会使法线的大小变小

当未使用
GL\u NORMALIZE
时,如果我们使用正因子(较大的对象和较长的法线)缩放对象(及其法线),则该对象将显示为较暗

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

那么为什么是相反的呢


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

法线在转换时不像法线点那样处理;它们使用用于变换点的矩阵的逆转置进行变换,并移除平移分量。对于固定管道,这由总账自动处理

对于缩放,这具有使用反向幅值缩放法线的效果。因此,在禁用“GL_规格化”的情况下使对象变大会使法线的大小变小,因此照明计算会导致颜色变暗


至于法线为何会以这种方式变换,对此进行了充分的解释。另外。

在变换时,法线的处理方式与法线点不同;它们使用用于变换点的矩阵的逆转置进行变换,并移除平移分量。对于固定管道,这由总账自动处理

对于缩放,这具有使用反向幅值缩放法线的效果。因此,在禁用“GL_规格化”的情况下使对象变大会使法线的大小变小,因此照明计算会导致颜色变暗


至于法线为何会以这种方式变换,对此进行了充分的解释。还有。

为什么要使用相反的格式?如果法线n点从点p到点q,那么p和q都使用直线变换T到Tp和Tq进行变换,我希望法线也使用这种变换进行变换,以产生Tn=T(q-p)=Tq-Tp。为什么使用逆?如果法线n点从点p到点q,那么p和q都使用直线变换T转换为Tp和Tq,我希望法线也使用这种变换转换为Tn=T(q-p)=Tq-Tp。