Volumetric Light Tunnel

<VolumetricLightTunnel>CSS Modules

Infinite corridor of light with volumetric haze.

InstallationColoxo CLI
npx coloxo add volumetric-light-tunnel
ES Module ImportPlayground / npm package
import { VolumetricLightTunnel } from '@coloxo/ui/visuals';

1. Live preview

This is the real component, not a recording. Move the pointer over it, then adjust the renderer settings.

Fragment shader
<VolumetricLightTunnel quality="low" />

2. Usage

Infinite corridor of light with volumetric haze. npx coloxo add volumetric-light-tunnel copies this effect in a Tailwind project or a Coloxo CSS project, and adds @coloxo/ui to package.json. You can also import it from @coloxo/ui/visuals.

3. Performance notes

Effects render on demand and dispose their GPU context when unmounted.

  • Every effect pauses when scrolled out of view or when the tab is hidden, so an idle page costs nothing.
  • quality caps the device pixel ratio. Keep it at low when several effects share one viewport.
  • With respectReducedMotion enabled, the effect renders a single static frame instead of animating.
  • The output is a decorative canvas hidden from assistive technology. Never place essential content only inside the effect.

4. Props

NameTypeDefaultDescription
beamCountnumber7Number of radial beams, 3–16.
depthnumber1.4Apparent tunnel depth, 0.2–3.
travelSpeednumber0.8Forward travel speed, 0–2.
bloomStrengthnumber0.5Bloom strength, 0–1.
cameraMotionnumber0.5How far the camera sways with the pointer, 0–1.
paletteAstringColoxo blueNear colour.
paletteBstringcyanFar colour.
pausedbooleanfalseRender a single static frame instead of animating.
respectReducedMotionbooleantrueFreeze to a static frame when prefers-reduced-motion is set.
quality"low" | "medium" | "high"mediumCaps the renderer pixel ratio. Use low for grids of many effects.
className / stylestring / CSSProperties—Applied to the container element.