uniform sampler2D SCREEN_TEXTURE; uniform highp float Strength; const highp int SampleCount = 10; // a higher number makes the shader look better, but has a big performance impact // a simple radial blur void fragment() { highp vec3 col = texture(SCREEN_TEXTURE, UV).xyz; highp vec4 color = zTexture(UV); highp vec2 direction = vec2(0.5, 0.5) - UV; for (int i=1; i <= SampleCount; i++) { col += zTextureSpec(SCREEN_TEXTURE, UV + float(i) * Strength / float(SampleCount) * direction).xyz; } col = col / float(SampleCount); COLOR = vec4(vec3(col), color.a); }