通常,方形矩阵用于变换各个点。你有一个4D向量,它转换成1x4或4x1矩阵,在任何一侧都可以乘以4x4矩阵来创建4x1或1x4矩阵。这是你转变的观点。
但是什么是非方形矩阵用于?如果将3x4矩阵乘以4x1向量矩阵,则最终得到3x1矩阵;这比你开始时的维度少一个。更不用说3x4矩阵不具备4x4矩阵的优良特性,例如能够乘以其他4x4矩阵并仍然保持相同的尺寸。
GLSL支持方形矩阵和非方形矩阵。为什么呢?
答案 0 :(得分:4)
您可以使用4x3矩阵进行蒙皮中的骨架骨骼转换。这些转换是仿射的,不包括投影,因此您不需要最后一列。
1x4向量和4x3矩阵相乘的结果是1x3向量,在这种特殊情况下,您不需要将它与矩阵相乘。
将4x3矩阵传递到GPU而不是4x4将为您节省四分之一的带宽。