precision mediump float;

varying vec2 uv;

uniform float u_strength;
uniform float u_size;
uniform vec4 u_color;
uniform sampler2D textureSampler;

void main() {
	float a = texture2D(textureSampler, uv).a * 0.204164;
	a += texture2D(textureSampler, uv + vec2(0, 1.0/u_size * 1.407333)).a * 0.304005;
	a += texture2D(textureSampler, uv - vec2(0, 1.0/u_size * 1.407333)).a * 0.304005;
	a += texture2D(textureSampler, uv + vec2(0, 1.0/u_size * 3.294215)).a * 0.093913;
	a += texture2D(textureSampler, uv - vec2(0, 1.0/u_size * 3.294215)).a * 0.093913;
	a *= u_strength;
	gl_FragColor = vec4(u_color.rgb * a, a);
}
