beamStreaks

Two bright bands crossing a beam further along it, slowly drifting, like light bouncing inside a film camera.

beamStreaks(slots: {spread: ArgSpec; strength: ArgSpec}): (frame: Expr, drift: Expr, params: GpuFragmentParams) => Expr

Import light from shaders/std and use light.beamStreaks.

Call the result with a beamFrame value, a slowDrift value and the params. It returns a field scaled by strength (0 turns the bands off). spread is the same value you gave beamBloom, so the bands sit past the pool.

Parameters

NameTypeNotes
slots{spread: ArgSpec; strength: ArgSpec}

Example

const streaks = beamStreaks({spread: p('spread'), strength: p('streaks')})(frame, drift, params)

See also

  • beamBloom — The soft pool of light at the start of a beam, with a wider faint shoulder around it.
  • slowDrift — The slow breathing and drifting signals that keep a light leak alive.
  • streakBand — One soft band across a single coordinate, peaking at center.

Used by

LightLeak