在 Chrome 22 和 Firefox 15 中编译此 WebGL 片段着色器时:
precision mediump float;
uniform vec2 u_resolution;
uniform sampler2D u_tex;
void main() {
vec2 texCoord = gl_FragCoord.xy / u_resolution;
vec4 floatColor = texture2D(u_tex, texCoord);
mat3 outerMat = outerProduct(floatColor.rgb,floatColor.rgb);
gl_FragColor = vec4(outerMat[0], 1);
}
我收到此错误:
ERROR: 0:8: 'outerProduct' : no matching overloaded function found
ERROR: 0:8: '=' : cannot convert from 'const mediump float' to '3X3 matrix of float'
OpenGL ES 2.0 GLSL 规范表示mat3 outerProduct(vec3,vec3)
支持,WebGL 规范表示它接受 ES 着色器,所以我不确定出了什么问题。WebGL 片段着色器不支持 outerProduct,还是我做错了什么?