我知道什么是列优先(column-major)以及如何处理它。但问题是,在此实现系统的目的是什么?是否存在任何技术或概念上的限制?
通过在内存中这样排列矩阵,您可以立即访问列向量(显然)。当使用右关联乘法(即OpenGL和大多数其他图形系统用于允许轻松链接变换的方式)时,矩阵的列向量就是矩阵映射到的坐标系的基向量。
对于其他图形操作(如设置镜像平面、广告牌等),方便地访问这些基向量非常有用。
简而言之:进行图形编程时,通常需要使用转换的基向量进行其他操作。如果使用右关联乘法,则基向量为转换矩阵的列。
glUniformMatrix*
有一个参数用于告诉OpenGL使用哪种布局。因此,列主序和行主序都是可行的。 - BDL