24 lines
889 B
GLSL
Raw Normal View History

uniform sampler2D texture;
uniform float blur_radius;
varying vec4 texCoord;
varying vec4 frontColor;
void main()
{
vec2 offx = vec2(blur_radius, 0.0);
vec2 offy = vec2(0.0, blur_radius);
vec4 pixel = texture2D(texture, texCoord.xy) * 4.0 +
texture2D(texture, texCoord.xy - offx) * 2.0 +
texture2D(texture, texCoord.xy + offx) * 2.0 +
texture2D(texture, texCoord.xy - offy) * 2.0 +
texture2D(texture, texCoord.xy + offy) * 2.0 +
texture2D(texture, texCoord.xy - offx - offy) * 1.0 +
texture2D(texture, texCoord.xy - offx + offy) * 1.0 +
texture2D(texture, texCoord.xy + offx - offy) * 1.0 +
texture2D(texture, texCoord.xy + offx + offy) * 1.0;
gl_FragColor = frontColor * (pixel / 16.0);
}