Skip to content

Symptoms

Start at the bug, not at lesson one.

30 things graphics code does wrong, in the words people use when it happens. Every row ends in a link that does not describe the bug — it reproduces it, on your screen, with the arithmetic that predicted it printed beside it.

Why the links carry state

Every lab on this site keeps its controls in the address bar, so any configuration of any figure is a URL. That is what makes the reproduce links possible: one opens the depth lab with the near plane already at 0.02, another opens the shading lab with the normals already transformed by the wrong matrix. The failure is on screen before you have read a word of the essay around it.

The 10 labs these 30 rows point into are essays with the figures built into them, and each one is written to repair a single wrong prediction rather than to cover a topic. If none of the sentences above is yours, the reading path puts them in an order, the labs are the full list, and the glossary is the vocabulary underneath both.