re3/src/extras/shaders/colourfilterIII.frag

29 lines
540 B
GLSL

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;
}