
Intro
Chrome logo, copper bars and a sine scroller, in one fragment shader.

Lab · Experiment 01
Fifteen scenes, one journey, zero art assets. A five-minute real-time demo in the tradition of the Amiga and PC demos of the late '80s and '90s, where every pixel and every note is computed while it plays.
The journey
It opens like a 1990 cracktro, then leaves the screen behind for stars, nebulae, hyperspace, a canyon run, a fleet, a supernova, a wormhole and the black hole at the heart of another galaxy. Each scene has its own interactive explainer.

Chrome logo, copper bars and a sine scroller, in one fragment shader.

Layers of stars sliding past a planet.

Dust pillars lit from behind by a star cluster.

The jump to hyperspace.

A boiling stellar surface with corona and flames.

A fighter skims rocks through their shadows.

A gas giant and its rings, casting shadows on each other.

Low and fast through a dusty canyon.

A fleet drops out of hyperspace on the beat.

A slow patrol under a giant capital ship.

A red giant collapses and explodes.

Through the throat to another sky.

A spiral galaxy built from millions of points.

An accretion disc bent around the event horizon.

Vector balls morphing on the beat, Amiga style.
Under the hood
No scene keeps state from one frame to the next. Anything that moves (a ship on its path, a star in its orbit, a camera rolling into hyperspace) is computed from the current time. That single rule makes the whole demo scrubbable: it can be paused, rewound, looped on one scene or captured at any beat.
There's nothing on disk but code: rock and ship meshes are generated at start-up, noise volumes are built by a compute shader, the font is drawn in code and the soundtrack is a ProTracker module synthesized in memory. At load time the module is played once, silently, to record the exact time of every note, so each scene can pulse, flash and flare on the kick and the snare.
A seekable demo clock drives everything. The music follows it. A hot-reloaded text file lists scenes, lengths in beats, transitions and parameters.
Each renders linear HDR into its own target: ray marching, meshes, particles.
One shader per effect: crossfade, flash, wipe, dissolve, glitch.
Bloom, chromatic aberration, exposure, ACES tone mapping, vignette, film grain.
Take it apart

Every page runs the scene's real shaders live in your browser, then explains the ideas behind them one at a time, with small figures you can play with. It ends with step-by-step pseudo-code and the actual GLSL and C++. Needs a browser with WebGL2.

The scenes as images first, then the technique: for each effect, the idea and the algorithm in high-level pseudo-code. Every image is a frame captured by the demo itself.
How it started
Space Travel began as a test: the same prompt given to Claude, Gemini and ChatGPT. This is the Claude version, taken much further. See all three demos and my notes on each model.
Credits
Greetings to all Amiga and PC demosceners, past and present. See you in hyperspace.