gpt4 book ai didi

opengl - GLSL中法线贴图的法线模型矩阵计算

转载 作者:行者123 更新时间:2023-12-02 05:21:08 24 4
gpt4 key购买 nike

我需要计算法线模型矩阵以在 GLSL 着色器中进行法线贴图。我想确保我在这一点上是正确的:当我将 View (相机模型)矩阵与几何模型矩阵相乘时, View 矩阵是否应该已经反转?从网上的例子看不清楚herehere .另外,我看到在某些情况下人们也会转置结果矩阵。为什么?那么在OpenGL中构建法线模型矩阵的正确方法是什么?

目前我是这样做的:

glm::mat4 view = inverse(GetCameraModel());
glm::mat3 normalModelMatr= glm::mat3(view * mesh.GetModel());

这是要走的路吗?

最佳答案

正确的法线矩阵是模型- View 矩阵的逆转置。如果您不进行任何非均匀缩放,即按不同量缩放轴,则矩阵的逆矩阵等于其转置,因为它是 orthogonal .因此,这两个操作相互抵消,就是原来的矩阵。

如果你做非均匀缩放,矩阵不是正交的,你必须做逆转置。

您采用顶部的 3x3 矩阵,因为您只需要旋转和缩放法线,而不需要平移。

因此,只要您不采用非均匀缩放,您的法线矩阵就是正确的。

关于opengl - GLSL中法线贴图的法线模型矩阵计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13824410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com