uniform sampler2D myIntensity;
uniform vec3 acFilterTaps[5];

void main ()                                          
{ 
  vec2
    cUV = gl_TexCoord[0].xy;

  vec4
    cIntensity = texture2D(myIntensity, cUV) * acFilterTaps[0].z;
    
  for (int nPass = 1; nPass < 5; nPass++)
  {
    vec2 cUV2 = clamp(cUV + acFilterTaps[nPass].xy, vec2(0.0), gl_TexCoord[0].zw);
    vec2 cUV3 = clamp(cUV - acFilterTaps[nPass].xy, vec2(0.0), gl_TexCoord[0].zw);
    float w = acFilterTaps[nPass].z;

    cIntensity += texture2D(myIntensity, cUV2) * w;
    cIntensity += texture2D(myIntensity, cUV3) * w;
  }
  
  gl_FragColor = cIntensity;
}                                                  
