[] 运算符在寻址属性 vec4 时会做什么?
attribute vec4 a_MatrixWeights;
...
foo(float weight);
...
void main()
{
foo(a_MatrixWeights[0]);
foo(a_MatrixWeights[1]);
foo(a_MatrixWeights[2]);
foo(a_MatrixWeights[3]);
}
这是处理 vec4 (.x, .y, .z, .w) 的各个字段还是以某种方式处理 vec4 和 vec4 数组并做其他事情?
最佳答案
是的,它用于访问单个字段。
数组下标也可用于访问矩阵列:
mat4 m;
vec4 c = m[1]; // access the second column of m
关于opengl - GLSL 2.0 属性问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4140031/