【问题标题】:Vertex normals incorrect after scaling缩放后顶点法线不正确
【发布时间】:2014-03-18 19:59:57
【问题描述】:

我正在展示一个场景,一切看起来都很好。 当我缩放一个对象时,我注意到照明变得不同(随着对象变大而变暗)。我知道我可以重新计算法线,但是有什么方法可以告诉 opengl 自动执行此操作?我正在使用 opengles 2。

非常感谢。

【问题讨论】:

    标签: opengl-es normals


    【解决方案1】:

    对象的缩放应该通过模型矩阵进行,因此不需要改变对象的原始法向量。使用模型矩阵变换模型时,还必须相应地变换法线。见http://www.songho.ca/opengl/gl_normaltransform.html

    【讨论】:

      【解决方案2】:

      即使您应用缩放,法线也不会改变。这意味着您不必每次都重新计算法线。问题很可能出现在您计算的正常矩阵中。确保正常矩阵(即模型视图矩阵的逆矩阵和转置矩阵)具有缩放参数。

      干杯!!!

      【讨论】:

        猜你喜欢
        • 2021-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 2018-06-22
        • 2019-05-18
        • 1970-01-01
        相关资源
        最近更新 更多