我正在尝试编写一个片段着色器,但遇到了困难。这只是我的第二个着色器,所以我对此非常陌生,我几乎可以肯定我只是没有正确处理数据类型,这就是错误的来源,但对于我的一生来说,我似乎无法要解决这个问题。目标是能够将纹理传递给函数,以便我可以一次又一次地调用它......任何和所有帮助将不胜感激!
我得到的错误是:错误 C1115:无法找到兼容的重载函数“texture2D(vec3,vec2)”。
uniform sampler2D image;
uniform float radius;
uniform float adsk_result_w, adsk_result_h;
vec2 iResolution = vec2(adsk_result_w, adsk_result_h);
vec2 uv=(gl_FragCoord.xy/iResolution.xy);
vec2 vTexCoord = (gl_FragCoord.xy/iResolution.xy);
float blurSize = radius/iResolution;
vec4 hblur(vec4 frontin ) {
vec3 RTScene = frontin.rgb;
vec4 sum = vec4(0.0);
sum += texture2D(RTScene, vec2(vTexCoord.x - 4.0*blurSize, vTexCoord.y)) * 0.05;
sum += texture2D(RTScene, vec2(vTexCoord.x - 3.0*blurSize, vTexCoord.y)) * 0.09;
sum += texture2D(RTScene, vec2(vTexCoord.x - 2.0*blurSize, vTexCoord.y)) * 0.12;
sum += texture2D(RTScene, vec2(vTexCoord.x - blurSize, vTexCoord.y)) * 0.15;
sum += texture2D(RTScene, …Run Code Online (Sandbox Code Playgroud) glsl ×1