Advertisement
Guest User

#4

a guest
Apr 1st, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Author: Maximilien "cewein" nowak
  2. // Title: moving 2d metaball
  3.  
  4. #ifdef GL_ES
  5. precision mediump float;
  6. #endif
  7.  
  8. uniform vec2 u_resolution;
  9. uniform vec2 u_mouse;
  10. uniform float u_time;
  11.  
  12. #define ZOOM 1./0.596
  13.  
  14. vec3 makeSphere(float size, vec2 pos, vec3 color, in vec2 st)
  15. {
  16.     float pct = (distance(st,pos) * distance(st,pos+-0.792))/abs(0.5);
  17.     pct = smoothstep(size,size-0.03,pct);
  18.     return vec3(pct * vec3(color));;
  19. }
  20.  
  21. void main() {
  22.     vec2 st = gl_FragCoord.xy/u_resolution.xy;
  23.     st += vec2(-0.450,-0.420);
  24.     st *= ZOOM;
  25.     vec3 color = vec3(0.0);
  26.    
  27.     color = makeSphere(0.5+clamp(0.,0.175,abs(sin(u_time)/3.)),vec2(0.570,0.370),vec3(1.,0,0.),st);
  28.     color += makeSphere(0.764-clamp(0.5,0.0,abs(cos(u_time)/3.)),vec2(0.390,0.640),vec3(0,1,0),st);
  29.     color += makeSphere(0.356,vec2(0.660,0.680),vec3(0,0,1),st);
  30.     gl_FragColor = vec4(color,1.0);
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement