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