diff options
Diffstat (limited to 'assets/shaders/Keleidoscope.frag.glsl')
-rw-r--r-- | assets/shaders/Keleidoscope.frag.glsl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/assets/shaders/Keleidoscope.frag.glsl b/assets/shaders/Keleidoscope.frag.glsl index 7d1bdb17..7d95a95b 100644 --- a/assets/shaders/Keleidoscope.frag.glsl +++ b/assets/shaders/Keleidoscope.frag.glsl | |||
@@ -4,20 +4,24 @@ precision highp float; | |||
4 | 4 | ||
5 | uniform vec2 u_resolution; | 5 | uniform vec2 u_resolution; |
6 | uniform float u_time; | 6 | uniform float u_time; |
7 | uniform float u_speed; | ||
7 | uniform sampler2D u_tex0; | 8 | uniform sampler2D u_tex0; |
8 | 9 | ||
9 | void main(void) | 10 | void main(void) |
10 | { | 11 | { |
11 | vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy; | 12 | vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / u_resolution.xy; |
12 | vec2 uv; | 13 | vec2 uv; |
14 | |||
15 | float time = u_time * u_speed; | ||
13 | 16 | ||
14 | float a = atan(p.y,p.x); | 17 | float a = atan(p.y,p.x); |
15 | float r = sqrt(dot(p,p)); | 18 | float r = sqrt(dot(p,p)); |
16 | 19 | ||
17 | uv.x = 7.0*a/3.1416; | 20 | uv.x = 7.0*a/3.1416; |
18 | uv.y = -u_time+ sin(7.0*r+u_time) + .7*cos(u_time+7.0*a); | 21 | uv.y = -time + sin(7.0*r+time) + .7*cos( |
22 | +7.0*a); | ||
19 | 23 | ||
20 | float w = .5+.5*(sin(u_time+7.0*r)+ .7*cos(u_time+7.0*a)); | 24 | float w = .5+.5*(sin(time+7.0*r)+ .7*cos(time+7.0*a)); |
21 | 25 | ||
22 | vec3 col = texture2D(u_tex0,uv*.5).xyz; | 26 | vec3 col = texture2D(u_tex0,uv*.5).xyz; |
23 | 27 | ||