你如何访问glsl mat4的各个元素?

时间:2012-11-29 19:40:47

标签: glsl

是否可以访问glsl mat4类型矩阵的各个元素?怎么样?

1 个答案:

答案 0 :(得分:57)

GLSL参考手册的第5.6节说明您可以通过以下方式使用mat4样式语法访问operator[][]数组元素:

mat4 m;
m[1] = vec4(2.0); // sets the second column to all 2.0
m[0][0] = 1.0; // sets the upper left element to 1.0
m[2][3] = 2.0; // sets the 4th element of the third column to 2.0

请记住,OpenGL默认为列主要矩阵,这意味着访问的格式为mat[col][row]。在该示例中,m[2][3]将第3列(索引2)的第4行(索引3)设置为2.0。在示例m[1]=vec4(2.0)中,它一次设置整个列(因为m[1]引用列#2,当只使用一个索引时,它意味着COLUMN。m[1]指的是SECOND栏目矢量)。