Bush

Instanced Meshes + Custom Shaders

A procedurally generated bush rendered with instanced planes. Each plane sways independently using vertex shader displacement driven by a wind noise function, creating an organic and immersive effect.

The scene uses instanced rendering to keep draw calls minimal despite the high plane count. Wind is visualised with animated line particles that sweep across the bush, reinforcing the sense of direction and flow.

Tech Stack

Three.jsReact Three FiberDreiTSLInstanced Meshes

Key Learnings

  • InstancedMesh lets you render tens of thousands of objects in a single draw call by varying per-instance attributes like position and rotation.
  • Vertex shader displacement is ideal for organic motion — you can animate geometry on the GPU without touching JavaScript each frame.
  • Wind visualisation lines help sell the environment; small ambient details make 3D scenes feel alive.