是否可以访问glsl mat4类型矩阵的各个元素?怎么样?
答案 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栏目矢量)。