fragment shader Webgl ERROR: 0:7: 'return' : function return is not matching type:
fragment shader Webgl ERROR: 0:7: 'return' : function return is not matching type:
我不明白为什么 return 类型不匹配。
使用 webgl
错误:0:7:'return':函数 return 不匹配类型:
precision mediump float;
uniform sampler2D previousState;
float NablaAHelper(vec2 coord){
if (coord.x < 0.0 || 64.0 < coord.x || coord.y < 0.0 || 64.0 < coord.y) return 0;
vec4 px = texture2D(previousState, coord/64.0);
return px.r;<--------
}
void main(void) {
vec2 coord = vec2(gl_FragCoord);
float NablaA =
NablaAHelper(coord+vec2(0.,0.))*-1.0+
....
我认为您被行号误导了。也许无论您使用什么来上传着色器都会在开头添加一些行,可能是 #version
指令。
问题很明显
if (coord.x < 0.0 [...]) return 0;
因为 GLSL 1.0 ES 中没有隐式类型转换。
我不明白为什么 return 类型不匹配。
使用 webgl 错误:0:7:'return':函数 return 不匹配类型:
precision mediump float;
uniform sampler2D previousState;
float NablaAHelper(vec2 coord){
if (coord.x < 0.0 || 64.0 < coord.x || coord.y < 0.0 || 64.0 < coord.y) return 0;
vec4 px = texture2D(previousState, coord/64.0);
return px.r;<--------
}
void main(void) {
vec2 coord = vec2(gl_FragCoord);
float NablaA =
NablaAHelper(coord+vec2(0.,0.))*-1.0+
....
我认为您被行号误导了。也许无论您使用什么来上传着色器都会在开头添加一些行,可能是 #version
指令。
问题很明显
if (coord.x < 0.0 [...]) return 0;
因为 GLSL 1.0 ES 中没有隐式类型转换。