title: GLSL: Unable to find compatible overloaded function
body: <p>I am trying to write a fragment shader and I've hit a wall. This is only my second shader so I'm very new to this and I'm almost certain I'm just not dealing with the data types properly and that's where the error is coming from but for the life of me I can't seem to fix it. The goal is to be able to pass a texture to the function so I can call it again and again... Any and all help would be appreciated!</p>
  
  <p>The error I get is: error C1115: unable to find compatible overloaded function "texture2D(vec3, vec2)".</p>
  
  <pre><code>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, vec2(vTexCoord.x, vTexCoord.y)) * 0.16;
      sum += texture2D(RTScene, vec2(vTexCoord.x + blurSize, vTexCoord.y)) * 0.15;
      sum += texture2D(RTScene, vec2(vTexCoord.x + 2.0*blurSize, vTexCoord.y)) * 0.12;
      sum += texture2D(RTScene, vec2(vTexCoord.x + 3.0*blurSize, vTexCoord.y)) * 0.09;
      sum += texture2D(RTScene, vec2(vTexCoord.x + 4.0*blurSize, vTexCoord.y)) * 0.05;
  return vec4(sum);
  }
  
  void main() {
      vec4 front = texture2D(image, uv);
      vec4 work = hblur(front);
  
      gl_FragColor = vec4(work);
  }
  </code></pre>