當兩者的Chrome 22和Firefox 15編譯這個WebGL的片段着色器:WebGL片段着色器是否支持outerProduct?
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,或者我做錯了什麼?
啊,似乎從Khronos的文檔具有外積,但僅限於ES3。見http://www.khronos.org/opengles/sdk/docs/manglsl/謝謝! – clintond47