summaryrefslogtreecommitdiffstats
path: root/src/extras/shaders/colourfilterVC.frag
diff options
context:
space:
mode:
Diffstat (limited to 'src/extras/shaders/colourfilterVC.frag')
-rw-r--r--src/extras/shaders/colourfilterVC.frag27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/extras/shaders/colourfilterVC.frag b/src/extras/shaders/colourfilterVC.frag
new file mode 100644
index 00000000..283aa817
--- /dev/null
+++ b/src/extras/shaders/colourfilterVC.frag
@@ -0,0 +1,27 @@
+uniform sampler2D tex0;
+uniform vec4 u_blurcolor;
+
+FSIN vec4 v_color;
+FSIN vec2 v_tex0;
+FSIN float v_fog;
+
+void
+main(void)
+{
+ float a = u_blurcolor.a;
+ vec4 doublec = clamp(u_blurcolor*2.0, 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 tmp = dst*(1.0-a) + prev*doublec*a;
+ tmp += prev*u_blurcolor;
+ tmp += prev*u_blurcolor;
+ prev = clamp(tmp, 0.0, 1.0);
+ }
+ vec4 color;
+ color.rgb = prev.rgb;
+ color.a = 1.0;
+
+ FRAGCOLOR(color);
+}
+