summaryrefslogtreecommitdiff
path: root/shader.frag
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2017-07-12 21:19:22 +0200
committerChristoph Helma <helma@in-silico.ch>2017-07-12 21:19:22 +0200
commit1d89df9e2a03c72a1b5789b066128555fc086d82 (patch)
treefa19d3f79bd261b6a815fdbe6daa6e2ad984d827 /shader.frag
initial stdin parsing
Diffstat (limited to 'shader.frag')
-rw-r--r--shader.frag34
1 files changed, 34 insertions, 0 deletions
diff --git a/shader.frag b/shader.frag
new file mode 100644
index 0000000..cf44e70
--- /dev/null
+++ b/shader.frag
@@ -0,0 +1,34 @@
+#ifdef GL_ES
+precision mediump float;
+#endif
+
+uniform vec2 resolution;
+uniform float time;
+uniform float color;
+
+float box(in vec2 _st, in vec2 _size){
+ _size = vec2(0.5) - _size*0.5;
+ vec2 uv = smoothstep(_size,
+ _size+vec2(0.001),
+ _st);
+ uv *= smoothstep(_size,
+ _size+vec2(0.001),
+ vec2(1.0)-_st);
+ return uv.x*uv.y;
+}
+
+float cross(in vec2 _st, float _size){
+ return box(_st, vec2(_size,_size/4.)) +
+ box(_st, vec2(_size/4.,_size));
+}
+
+void main(){
+ vec2 st = gl_FragCoord.xy/resolution.xy;
+ vec3 c = vec3(0.);
+
+ c += vec3(cross(st,0.5*abs(cos(time))));
+ c.r -= color;
+ //c *= u_color;
+
+ gl_FragColor = vec4(c,1.0);
+}