Shafts of sunlight through a window, with dust floating in them. The beam profile is baked one pixel-row at a time, so the edges stay smooth however far the shaft is stretched across the frame - built from a handful of slices it would show visible steps.
The dust computes its own lighting against the same divergence profile, so a mote only sparkles where the beam actually is, each on its own phase, drifting upward. That is what sells the volume.
The source is placed along the beam axis rather than in fractions of the frame, so the angle stays right on a wide banner and on a phone column alike. Angle, spread, count, warmth, haze and dust are all yours, and the beam can follow the cursor.
Canvas, nothing loaded from outside. Honours prefers-reduced-motion and freezes on the Framer canvas.
Shafts of sunlight through a window, with dust floating in them. The beam profile is baked one pixel-row at a time, so the edges stay smooth however far the shaft is stretched across the frame - built from a handful of slices it would show visible steps.
The dust computes its own lighting against the same divergence profile, so a mote only sparkles where the beam actually is, each on its own phase, drifting upward. That is what sells the volume.
The source is placed along the beam axis rather than in fractions of the frame, so the angle stays right on a wide banner and on a phone column alike. Angle, spread, count, warmth, haze and dust are all yours, and the beam can follow the cursor.
Canvas, nothing loaded from outside. Honours prefers-reduced-motion and freezes on the Framer canvas.