Real-time · WebGL

Motion backgrounds,
running live.

Every scene here renders in the browser at full frame rate, with no video files and no loops to buffer. Open one full screen, or lift the component straight into a page.

Open

One line, always moving

Signal Tide

A single waveform rolls across a grainy petrol-blue field, shifting from blue through coral to violet as it moves. No particles, stacked paths, or texture files.

three.js · fragment shader · signed-distance waveform

View full screen
Open

Light falling into the throat

Wormhole Drift

Slow arms of cold light spiral into a dark mouth, with finer filaments drawn inward faster than the body of the medium. One shader pass, no textures.

three.js · cylindrical FBM · logarithmic spiral

View full screen
Open

Morphing particle assembly

Swarm Forms

16,000 metallic dots settle into a human face, a robot head, and a sprouting plant, scattering apart between each. Every point cloud is generated from maths, no scans or models.

three.js · instanced attributes · vertex-shader morph

View full screen
Open

Luminous nested signal

Violet Contours

Soft concentric contours breathe through a violet deep-space glow while a sparse field of stars drifts overhead. One shader pass, built to stay quiet behind content.

three.js · fragment shader · distance fields

View full screen
Open

Instanced fur landscape

Velvet Field

A fur-covered ridge drifting in the void. 400k instanced blades bend under two crossing wind waves, with scattered stone and a slow figure-eight camera.

three.js · instancing · vertex shader wind

View full screen
Open

Full-screen shader curtains

Aurora Drift

Three FBM-warped light curtains hanging over a sparse starfield. No geometry at all: one quad and a fragment shader, light enough to sit behind live content.

three.js · fragment shader · FBM noise

View full screen
Open

Procedural planet from low orbit

Emerald Orbit

A world turning under a green atmosphere, with a scattering shell for the limb glow and a shader galaxy behind it. Every surface is generated, no texture maps.

three.js · 3D value noise · fresnel scattering

View full screen
Open

Liquid metal in freefall

Molten Chrome

A cluster of mercury droplets fusing and splitting in slow freefall. Raymarched distance fields with a procedural sky reflected off the surface, no environment maps, no textures.

three.js · raymarched SDF metaballs · fresnel chrome

View full screen
Open

Refracted light, slowly turning

Prism Drift

Slabs of glass turning in front of a soft gradient, each bending the light behind it. Red, green, and blue are refracted by different amounts, so every edge fringes into colour.

three.js · screen-space refraction · chromatic dispersion

View full screen
Open

Ink finding its current

Flow Current

A near-black field with only a handful of soft currents drifting through it, each trailing a comet-like wake along its own wandering path. Quiet by design, built to sit behind content.

three.js · fragment shader · analytic motion trails

View full screen
Open

A grid running to the vanishing point

Neon Horizon

A wireframe landscape rolling toward a synthwave sun. The heightfield scrolls under a fixed grid, so ridges rise in and flatten as they pass, lines glowing brighter toward the horizon.

three.js · noise-displaced wireframe · additive glow

View full screen
Open

The black between things

Deep Field

Mostly the empty dark, interrupted now and then: a black hole drifts through, bending the starlight into a ring and trailing a tilted disk, while comets cross on their own schedules and asteroids tumble past. Blinking stars and a faint galaxy behind it all, one shader pass, no textures.

three.js · fragment shader · analytic gravitational lensing

View full screen
Open

A universe igniting beyond the glass

First Light

The view from a drifting helmet as a single point of light detonates into a sky, a shockwave of hot filaments cooling into stars and nebula, then dark again. Cosmos and visor are one shader pass, no textures, looping forever.

three.js · fragment shader · radial FBM shockwave

View full screen
Open

Only the observer is moving

Warp Threads

A loom's warp seen from inside it: thousands of tensioned filaments in banded fans of colour, hanging perfectly still. Nothing in the field animates; the camera travels down the empty channel in the middle, so every thread streams out of the vanishing point purely from parallax.

three.js · instanced screen-space lines · additive bloom pass

View full screen
Open

Move the light across the lattice

Lantern Grid

Tens of thousands of halftone dots on a slowly warping sheet. This one answers the cursor: wherever you hover, the sheet lifts toward you and the dots there swell and ignite, parting from their neighbours as they rise. Drag on touch, and left alone, the light wanders the field on its own.

three.js · instanced halftone lattice · pointer-driven displacement

View full screen
Open

Light through open water

Caustic Deep

A seabed lit by moving caustics, crossed by soft shafts falling from the surface and dimmed by depth. The web of light comes from animated cellular noise, quiet enough to sit behind content.

three.js · animated Voronoi caustics · god rays

View full screen