The whole algorithm, running
Progressive path tracer
This is the rendering equation being solved by Monte Carlo integration, in your browser, one sample per pixel per frame. The image starts as noise and converges while you watch — that convergence is the entire subject of this section, and no still image can show it. Switch between direct illumination and full global illumination and watch colour bleed onto the white walls.
The dashed line is 1/√N. Monte Carlo error follows it: to halve the noise you need four times the samples, which is why the last few percent of quality costs more than everything before it.
A closed box with a small emitting rectangle in the ceiling. The left wall is red, the right green, everything else white — the classic test scene, because the coloured walls make indirect light impossible to miss.
In direct only mode each camera ray finds a surface, fires one shadow ray at the light, and stops. Anything the light cannot see is pure black, because nothing else can reach it. That is the simplification described in the notes: fast, easy, and wrong.
In full global illumination the ray keeps going after the shadow ray, bouncing off whatever it hit and gathering light from the rest of the room. Red creeps onto the left of the white sphere, green onto its right, and the shadows fill in — none of that is a light source, it is the walls acting as one.