Fragment-shader blur ... how does this work?
        Posted  
        
            by anon
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by anon
        
        
        
        Published on 2010-03-13T10:24:23Z
        Indexed on 
            2010/03/13
            10:25 UTC
        
        
        Read the original article
        Hit count: 326
        
fragment-shader
uniform sampler2D sampler0;
uniform vec2 tc_offset[9];
void blur()
{
  vec4 sample[9];
  for(int i = 0; i < 9; ++i)
    sample[i] = texture2D(sampler0, gl_TexCoord[0].st + tc_offset[i]);
  gl_FragColor = (sample[0] + (2.0 * sample[1]) + sample[2] +
      (2.0 * sample[3]) + sample[4] + 2.0 * sample[5] +
      sample[6] + 2.0 * sample[7] + sample[8] ) / 13.0;
}
How does the sample[i] = texture2D(sample0, ...) line work?
It seems like to blur an image, I have to first generate the image, yet here, I'm somehow trying to query the very iamge I'm generating. How does this work?
© Stack Overflow or respective owner