Interactive graphics labs

Learn graphics by moving the numbers.

A transform is not a table of sixteen numbers — it is a motion, and you cannot see a motion on a static page. So here you drag the numbers themselves and watch the matrix, the geometry and the pixels change together.

interactive labs
4interactive labs
curated resources
37curated resources
stock images
0stock images

Live WebGL, rendering right now — the projection lab with its controls taken away. The cyan wireframe is a camera’s view frustum, breathing as its field of view changes.

The labs

Each one isolates a single idea and gives you the controls to it.

All labs →

Pick a technology

The same scene, four ways — WebGL, WebGPU, Three.js and vgpu rendering one identical scene, so the only thing you are comparing is the code.

Compare them →

Learn

Then read the best of what everyone else has written.

The labs cover the spine. For the rest there is a curated path of 37 resources across graphics and game development — courses, books, interactive explainers and tools, each with a line on why it earns your evenings, arranged so every stage makes the next one easier. Most are free. Every link is checked.

Open the reading path

No framework in the way

Raw WebGL and a few hundred lines of matrix maths. The plumbing a scene graph would hide is the actual subject, so none of it is hidden.

The maths is on screen

Every lab shows the live matrix next to the render. The coloured columns in the readout are the coloured axes on the canvas — the same thing, twice.

Checked, not asserted

The matrix library ships with a numeric test suite. Claims about how a projection behaves are verified on every commit rather than written down and hoped for.