Real-time · WebGL
Motion backgrounds,
running live.
Every scene here renders in the browser at full frame rate — no video files, no loops to buffer. Open one full screen, or lift the component straight into a page.
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 screenMorphing 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 screenLuminous 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 screenInstanced 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 screenFull-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 screenProcedural 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 screenLiquid 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 screenRefracted 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 screenInk 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 screenA 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 screenThe 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 screenA 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 screenLight 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