diff options
Diffstat (limited to 'assets/shaders/Pulse.frag.glsl')
-rw-r--r-- | assets/shaders/Pulse.frag.glsl | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/assets/shaders/Pulse.frag.glsl b/assets/shaders/Pulse.frag.glsl new file mode 100644 index 00000000..b24c9bef --- /dev/null +++ b/assets/shaders/Pulse.frag.glsl | |||
@@ -0,0 +1,22 @@ | |||
1 | #ifdef GL_ES | ||
2 | precision highp float; | ||
3 | #endif | ||
4 | |||
5 | uniform float u_time; | ||
6 | uniform vec2 u_resolution; | ||
7 | uniform sampler2D u_tex0; | ||
8 | |||
9 | void main(void) | ||
10 | { | ||
11 | vec2 halfres = u_resolution.xy/2.0; | ||
12 | vec2 cPos = gl_FragCoord.xy; | ||
13 | |||
14 | cPos.x -= 0.5*halfres.x*sin(u_time/2.0)+0.3*halfres.x*cos(u_time)+halfres.x; | ||
15 | cPos.y -= 0.4*halfres.y*sin(u_time/5.0)+0.3*halfres.y*cos(u_time)+halfres.y; | ||
16 | float cLength = length(cPos); | ||
17 | |||
18 | vec2 uv = gl_FragCoord.xy/u_resolution.xy+(cPos/cLength)*sin(cLength/30.0-u_time*10.0)/25.0; | ||
19 | vec3 col = texture2D(u_tex0,uv).xyz*50.0/cLength; | ||
20 | |||
21 | gl_FragColor = vec4(col,1.0); | ||
22 | } \ No newline at end of file | ||