该*
运算符对像vec4
.
vec4 a = vec4(1.0, 2.0, 3.0, 4.0);
vec4 b = vec4(0.1, 0.2, 0.3, 0.4);
vec4 c = a * b; // vec4(0.1, 0.4, 0.9, 1.6)
GLSL 语言规范在第5.10节向量和矩阵运算下说:
除了少数例外,操作是组件式的。通常,当操作符对向量或矩阵进行操作时,它以分量方式独立地对向量或矩阵的每个分量进行操作。[...] 例外是矩阵乘以向量、向量乘以矩阵和矩阵乘以矩阵。这些不按分量操作,而是执行正确的线性代数乘法。