摘要:
顶点从模型空间转换到世界坐标空间只需要乘以世界转换矩阵即可,但是顶点的法向量却不能通过直接乘以这个矩阵将其变换到世界空间。原因是世界矩阵不仅包含旋转,还有可能包含着缩放操作,如果模型被不成比例的缩放,在不同方向上会有不同程度的拉伸或者压缩,顶点的坐标会因而伸缩,但是如果对法向量进行同样的伸缩,那么变化后的法向量将不再垂直于对应的表面。因此对应没有缩放或等比缩放的世界转换矩阵,可以直接采用相同的转换矩阵作为法向量的变换矩阵。那对于有不等比缩放或者通用的法向量转换矩阵,该如何求取呢?假定采用行向量,假定一个通过原点的面的法向量为n,转换矩阵为m,面上面某点为p,则有(p-0)nt==0 即 pnt 阅读全文