A cyan Menger sponge tower with square openings rising into a black sky, seen from near its base
A frame from the film, taken from the file below.

Download MP4 140.9 MiB

The full 1080×1920 render, never re-encoded.

Length
0:30
Frame
1080 × 1920 (9:16, vertical)
Rate
60 fps
Video
H.264, High profile, 8-bit 4:2:0
Audio
AAC-LC, 48 kHz stereo
Bitrate
39.4 Mbit/s average
File
runtime-1080x1920.mp4
Size
140.9 MiB (147,752,336 bytes)
SHA-256
18e0125de5715bd2ead63eb2e12473206f939af6f1040af50caf4b6d17a5d645
Source
fkkarakurt/demoscene/tree/main/demos/02-runtime
Licence
MIT
In short

RUNTIME is a thirty-second vertical demo at 1080×1920 and 60 frames per second whose subject is the renderer itself: the picture is shown being computed, row by row, in the order the engine's eight worker threads take rows off a shared counter. The structure on screen is a Menger sponge stacked into an endless column, and one section draws the soundtrack's own waveform straight from the audio buffer being played. It runs at 128 BPM for 16 bars, exactly 30.000 seconds, and loops.

The video is cut to the bar rather than the bar padded to the video, and it ends on black and silence at exactly the point it begins, because a short is watched twice before it is watched once.

StructurePermalink to “Structure”

BarTimeSectionOn screen
00:00ASSEMBLEThe frame fills in row by row. No drums.
20:03.8LOCKKick and bass land on the finished picture.
60:11.3DRIVECut to a low camera, full arrangement.
110:20.6EXPOSEEverything drops. The waveform draws itself.
140:26.3SIGNOne chord, three lines, out to black.

The revealPermalink to “The reveal”

The engine renders one row per work item, and eight workers pull row indices off a shared atomic counter. During a real render there is therefore a ragged front a few rows deep, with finished pixels above it and untouched memory below. The opening draws precisely that, slowed from milliseconds to seconds: rows past the front are cleared, rows inside the band are faded up, and the leading edge is lit. The lit edge is the only liberty taken; everything else is a description of what the renderer is doing.

The waveformPermalink to “The waveform”

The EXPOSE section reads the audio buffer the piece is playing and draws one column of pixels per 1.7 milliseconds, spanning exactly one bar, with the playhead where the sound being heard is. Each column is the minimum and maximum of its samples, which is what an audio editor draws. Nothing is stylised. The claim that the music is computed too is otherwise invisible in a video, and this is the section that makes it visible.

The structurePermalink to “The structure”

A Menger sponge with a small rotation applied between levels, repeated every two units of height. The sponge spans −1 to 1, so the repeat stacks copies face to face into a column with no gap and no overlap, and the seam every two units reads as a storey. It was chosen over the folded fractals of COLD START because it is crisp: square openings and right angles all the way down say “this was computed” in a way an organic shape does not. It is found by sphere tracing its distance field.

How it was renderedPermalink to “How it was rendered”

2.4 seconds a frame at 1080×1920 with two anti-aliasing samples, doubled for two temporal subsamples: about 4.8 seconds a frame, and a little over two hours for the 1,800 frames, on the same four-core laptop as the others.

← Back to all demos, or see the engine behind them.