This demo uses TWGL.js + WebGL with a custom fragment shader. Read the blog post for a tutorial and more about how this works. Try changing the variables to see how they affect the blobs.
Variables:
Metaball size | diameter of metaball at cursor |
Discard threshold | minimum value of a pixel to be visible |
Antialias threshold | maximum value for blurry edge transition |
Noise speed | rate of animation |
Noise height | "spikiness" of noise |
Noise scale | x and y scaling factor of noise |