一般来说,点和绝大部分方向矢量都可以使用同一个 4x4 或者 3x3 的变换矩阵把其从坐标空间 A 变换到坐标空间 B中。但变换法线的时候,如果使用同一个变换矩阵,可能无法维持法线的垂直性。如下图所示,在进行非统一缩放时,如果使用和变换顶点相同的变换矩阵来变换法线,就会得到错误的结果,即变换后的法线方向与平面不再垂直
切线是由两个顶点之间的差值计算得到的,因此,可以直接使用用于变换顶点的变换矩阵来变换切线。
解释:
坐标空间A中两点 a,b,切线 t,法线 nor。经过变换后在坐标空间 B 中的点 A,B,切线 T,法线 Nor。变换矩阵为 Mab
假设法线变换时使用的变换矩阵为 G
已知 tT nor = 0,如果 MabT G = I,那么等式成立