#version 300 es precision highp float; in vec2 v_texcoord; uniform sampler2D tex; out vec4 fragColor; void main() { float o = 0.003; vec4 c = vec4(0.0); c += texture(tex, v_texcoord + vec2(-o, -o)) * 0.0625; c += texture(tex, v_texcoord + vec2( 0, -o)) * 0.125; c += texture(tex, v_texcoord + vec2( o, -o)) * 0.0625; c += texture(tex, v_texcoord + vec2(-o, 0)) * 0.125; c += texture(tex, v_texcoord ) * 0.25; c += texture(tex, v_texcoord + vec2( o, 0)) * 0.125; c += texture(tex, v_texcoord + vec2(-o, o)) * 0.0625; c += texture(tex, v_texcoord + vec2( 0, o)) * 0.125; c += texture(tex, v_texcoord + vec2( o, o)) * 0.0625; fragColor = c; }