如何在计算机图形学中使用非方阵



通常使用方阵来变换各个点。你有一个四维向量,它变换成一个1x4或4x1矩阵,它在任意一边乘以一个4x4矩阵来创建一个4x1或1x4矩阵。这是你的变换点

但是非方阵是用来做什么的呢?如果你用一个3x4矩阵乘以一个4x1向量矩阵,你最终得到一个3x1矩阵;这比开始时少了一个维度。更不用说3x4矩阵不具有4x4矩阵的良好特性,例如能够乘以其他4x4矩阵而仍然保持相同的维度。

GLSL支持方阵和非方阵。为什么?

您可以使用4x3矩阵,例如,在蒙皮中的骨骼转换。这些变换是仿射的,不包括投影,所以不需要最后一列。

1x4向量和4x3矩阵相乘的结果是1x3向量,在这种特殊情况下,你不需要将它与矩阵相乘。

将4x3矩阵传递给GPU而不是4x4将节省您四分之一的带宽。

最新更新