uniform sampler2D bgl_RenderedTexture; float samples[] ={ 0.0222244,0.0378346,0.0755906,0.1309775,0.1756663, 0.1974126, 0.1756663,0.1309775,0.0755906,0.0378346,0.0222244 }; void main() { vec4 sum = vec4(0); vec2 texcoord = vec2(gl_TexCoord[0]); int j; int i; for( i= -5 ;i < 5; i++) { for( j= -5 ;j < 5; j++) { sum += texture2D(bgl_RenderedTexture, texcoord + vec2(j, i)*0.004) * samples[j+5]; } } gl_FragColor = sum*sum*0.010 + texture2D(bgl_RenderedTexture, texcoord); }