Amiga Juggler

The classic ray-tracing demo, now recomputed by your GPU — every light ray, every frame. Choose how to start.

Initialising WebGL2

You can pause and close at any time from the control bar.

A tribute to Eric Graham. Built by mahieu.nl.

Nederlands

About this reconstruction

In November 1986 Eric Graham's Juggler showed what an Amiga could do: 24 ray-traced HAM frames of 320×200, 0.8 seconds per loop, one "ding" per catch. This page recomputes the same scene on your GPU every frame: 70 spheres, an infinite checkerboard floor, hard shadows and mirror reflections, without video or pre-rendered images.

Scene, camera, light, timing and sound were calibrated against the original frames and Graham's recovered source code. The motion data was lost and has been re-measured from all 24 frames. The 1986 mode shows the 24 discrete frames with 4 bits per colour channel; the modern mode interpolates smoothly at full resolution.

Sources: Graham's Raytracer 1.0 source, Ernie Wright's analysis, Meatfighter and Ben Hanke's WebGL version. The full technical notes are in the README (Markdown, in Dutch).