Your system asks for reduced motion, so VFX-JS draws nothing. Demos on this site show plain HTML.
Class
MatrixEffect
effects/src/matrix.ts:652 ↗import { MatrixEffect } from "@vfx-js/effects";"Digital rain" / Matrix-movie effect.
Example
vfx.add(el, { effect: new MatrixEffect({ grid: [12, 16] }) });
vfx.add(el, { effect: new MatrixEffect({ glyphs: "01", color: [0, 1, 0, 1] }) });
Splits the element into a grid and rains a random glyph down each column, with a bright leading tip and a fading green trail. The source image's grayscale is multiplied into the rain, so the picture emerges from the falling characters.
grid, color, headColor, background, speed, tail, tailFade,
birthRate, glyphSpeed, brightness, contrast, invert, and seed
are live (read every frame). glyphs / font / fontWeight / charAspect are
baked into the atlas at init() — after changing them via setParams,
call MatrixEffect.updateAtlas (or re-add the effect) to rebuild.
Constructors
new MatrixEffect()
new MatrixEffect(initial?: Partial<MatrixParams> = {}): MatrixEffect
Methods
setParams
setParams(updates: Partial<MatrixParams>): void
updateAtlas
updateAtlas(): Promise<void>
Rebuild the atlas from the current params, applying changes to the
baked fields (glyphs / font / fontWeight / charAspect) without
removing and re-adding the effect. Async — it may load fonts. No-op
before init().
Allocates a fresh atlas texture and disposes the previous one once the swap is live, so repeated calls don't leak. Still rasterises the atlas, so prefer occasional calls (e.g. on a settings change) over per-frame use.