Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uniform sampler2D u_tex;
- uniform float u_time;
- varying vec2 v_uv;
- float rand(vec2 co){
- return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
- }
- void main() {",
- float r = 0.0, g = 0.0, b = 0.0;
- vec2 uv = v_uv;
- float position = 0.5 + sin(u_time) * 0.2;
- float n = 0.0;
- vec2 offset = vec2(0.0);
- float dy = (0.5 - abs(uv.y - position)) * 2.0;
- offset.x = 0.2 * dy * dy * dy * sin(uv.y * 10.0 + u_time/3.0);
- uv += offset;
- n = dy * rand(u_time * uv * 6400.0);
- if (n > 0.9) n = 1.0;
- else n = 0.0;
- vec3 c = texture2D(u_tex, uv).rgb;
- r = texture2D(u_tex, uv - offset/10.0).r;
- g = c.g;
- b = texture2D(u_tex, uv + offset/10.0).b;
- gl_FragColor = vec4(r, g, b, 1.0) + vec4(n, n, n, 1.0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement