我需要计算一个法线模型矩阵以在 GLSL 着色器中进行法线映射。我想确保我是对的:当我将视图(相机模型)矩阵与几何模型矩阵相乘时,视图矩阵是否应该已经倒置?从此处和此处找到的在线示例中不清楚。此外,我看到在某些情况下人们也会转置结果矩阵。为什么?那么在 OpenGL 中构建法线模型矩阵的正确方法是什么?
目前我这样做:
glm::mat4 view = inverse(GetCameraModel());
glm::mat3 normalModelMatr= glm::mat3(view * mesh.GetModel());
这是要走的路吗?