summaryrefslogtreecommitdiffstats
path: root/src/extras/shaders/colourfilterIII.frag
blob: e19a8600a1f63dca2baebc426f031a796b37fd45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uniform sampler2D tex0;
uniform vec4 u_blurcolor;

in vec4 v_color;
in vec2 v_tex0;
in float v_fog;

out vec4 color;

void
main(void)
{
	float a = u_blurcolor.a;

	vec4 doublec = clamp(u_blurcolor*2, 0.0, 1.0);
	vec4 dst = texture(tex0, vec2(v_tex0.x, 1.0-v_tex0.y));
	vec4 prev = dst;
	for(int i = 0; i < 5; i++){
//		vec4 doublec = clamp(u_blurcolor*2, 0.0, 1.0);
		vec4 tmp = dst*(1.0-a) + prev*doublec*a;
		tmp += prev*u_blurcolor;
		tmp += prev*u_blurcolor;
		prev = clamp(tmp, 0.0, 1.0);
	}
	color.rgb = prev.rgb;
	color.a = 1.0f;
}