Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author: Maximilien "cewein" nowak
- // Title: moving 2d metaball
- #ifdef GL_ES
- precision mediump float;
- #endif
- uniform vec2 u_resolution;
- uniform vec2 u_mouse;
- uniform float u_time;
- #define ZOOM 1./0.596
- vec3 makeSphere(float size, vec2 pos, vec3 color, in vec2 st)
- {
- float pct = (distance(st,pos) * distance(st,pos+-0.792))/abs(0.5);
- pct = smoothstep(size,size-0.03,pct);
- return vec3(pct * vec3(color));;
- }
- void main() {
- vec2 st = gl_FragCoord.xy/u_resolution.xy;
- st += vec2(-0.450,-0.420);
- st *= ZOOM;
- vec3 color = vec3(0.0);
- color = makeSphere(0.5+clamp(0.,0.175,abs(sin(u_time)/3.)),vec2(0.570,0.370),vec3(1.,0,0.),st);
- color += makeSphere(0.764-clamp(0.5,0.0,abs(cos(u_time)/3.)),vec2(0.390,0.640),vec3(0,1,0),st);
- color += makeSphere(0.356,vec2(0.660,0.680),vec3(0,0,1),st);
- gl_FragColor = vec4(color,1.0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement