A reimplementation of the Polygon Shredder using instancing, adding some of the features I was missing from the first version: different geometries to move around and a bit of postprocessing.
The curl noise is perform in two textures, ping-ponging the simulation. Both textures are used as current and previous positions to reorient the instanced mesh. Shadow mapping, diffuse and specular lighting is applied. A post processing pass of bloom, fxaa and vignette is finally applied.p>Built with three.js, Maf.js and dat.gui.
Code available on GitHub.
Play with the params:
- Persistence: dispersion of the curl noise.
- Speed: speed of the particles.
- Decay: life of the particles.
- Animate: toggles animation.
- Mesh: choose the mesh to draw as particles.
- Scale: global scale of the particle.
- ScaleX: scale of the particle in X axis.
- ScaleY: scale of the particle in Y axis.
- ScaleZ: scale of the particle in Z axis.
- Squashiness: how it deforms when moving fast.
- DrawRange: control how many particles to draw.
- Post: toggle post processing.