Created
January 21, 2018 20:19
-
-
Save demicuz/08b5b40df6c613a7a1ed75b91a0d691b to your computer and use it in GitHub Desktop.
VEDA issue (fast compilation time)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
{ | |
server: 3000 | |
} | |
*/ | |
precision mediump float; | |
uniform float time; | |
uniform vec2 resolution; | |
uniform vec2 mouse; | |
vec2 m; | |
vec2 pos1 = vec2(.5, .5); | |
vec2 pos2 = vec2(.0); | |
vec2 pos3 = vec2(.1, 1.); | |
vec2 speed1 = vec2(.2, .34); | |
vec2 speed2 = vec2(-.2, .1); | |
vec2 speed3 = vec2(.1, .4); | |
// mirrors to -1..1 | |
vec2 mirror(vec2 pos) | |
{ | |
vec2 mul = (abs(pos) - 1.) / 2.; | |
vec2 reversed = step(1., mod(mul, 2.)); // 1.0 if reversed | |
vec2 r = fract(mul); // from 0 to 1 | |
r = r * 2. - 1.; | |
r -= r * reversed * 2.; | |
return r; | |
} | |
void main() | |
{ | |
m = mouse; | |
vec2 uv = gl_FragCoord.xy / resolution - vec2(.5); | |
uv.x *= resolution.x / resolution.y; | |
uv *= 2.; | |
vec3 color = vec3(.0); | |
pos1 += speed1 * time; | |
pos2 += speed2 * time; | |
pos3 += speed3 * time; | |
vec2 r1 = mirror(pos1); | |
vec2 r2 = mirror(pos2); | |
vec2 r3 = mirror(pos3); | |
color.r = fract(length(r1 - uv)*3.); | |
color.g = fract(length(r2 - uv)*3.); | |
color.b = fract(length(r3 - uv)*3.); | |
color *= step(abs(uv.x), 1.); | |
gl_FragColor = vec4(color, 1.0); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment