@Captain Oblivion: Sorry, don’t know why it’s not working on your system. I’ve tested the shader on a 8800GT with no problem.

Yes the shader is very slow, so i’ve been working on the perfomance: Now it runs with 40 fps on my radeon 3650 (15 fps faster) and looks a bit better i think.

Here is the new code:

```
uniform sampler2D bgl_RenderedTexture;
void main()
{
vec4 sum = vec4(0);
vec2 texcoord = vec2(gl_TexCoord[0]);
int j;
int i;
for( i= -4 ;i < 4; i++)
{
for (j = -3; j < 3; j++)
{
sum += texture2D(bgl_RenderedTexture, texcoord + vec2(j, i)*0.004) * 0.25;
}
}
if (texture2D(bgl_RenderedTexture, texcoord).r < 0.3)
{
gl_FragColor = sum*sum*0.012 + texture2D(bgl_RenderedTexture, texcoord);
}
else
{
if (texture2D(bgl_RenderedTexture, texcoord).r < 0.5)
{
gl_FragColor = sum*sum*0.009 + texture2D(bgl_RenderedTexture, texcoord);
}
else
{
gl_FragColor = sum*sum*0.0075 + texture2D(bgl_RenderedTexture, texcoord);
}
}
}
```

If the shader is running extremely slow make sure you haven’t used an allways sensor for the 2d filter actuator.

That’s the way i use the 2d filter actuator: