About this effect
the stage boots a three.js renderer into a single host element and draws one frame per animation frame. a marble bust gltf is lit by a hemisphere and point light inside a model, so the stone reflects a real room.
the cursor wake is a fluid solve, not a trail sprite. six passes run over a low resolution target at a fixed 60 Hz, and the resulting velocity field is sampled by the composite and portrait shaders as tCursorEffect. when the pointer rests, agsap timeline scans the cursor across the portrait so the wake keeps moving.
everything holds the opening frame. the camera sits at z = 3, the composite adds the halftone background, outline and tint, and the chrome globe renders into its own target, revealed by the cursor. nothing is scrubbed by scroll, so this route is the resting state of the full hero. boss.
Marble Bust 01 and Studio Small 08 HDRI from Poly Haven, released under CC0. The chrome globe is procedural Three.js geometry.
← Back to index