Reflections
Write-ups on the thought process behind building the renderers.
Each series is a curated arc through a renderer's progression.
The reflection buffer accumulates every write-up, curated and uncurated.
SERIES 01 / 02
CPU · Offline · C++
A Path Tracer
A CPU path tracer, from a single ray to San Miguel at ten million triangles.
5 chapters · 2026 · APR · 14Read the series →
SERIES 02 / 02
GPU · Real-time · OpenGL
Real-Time Light
A deferred OpenGL renderer, and the approximations that hold it at 60 frames per second.
5 chapters · 2026 · APR · 18Read the series →
End of the curated arcs
The Reflection Buffer
Consolidated list of write-ups on the renderers.
- 2026 · APR · 18
Light Bounces OnceScreen-space directional occlusion: sampling the 3D hemisphere so occlusion keeps its direction and color, then re-using the blocked samples as secondary emitters for one bounce of indirect light. - 2026 · APR · 14
The Room ItselfScaling to San Miguel and the Bistro: importance-sampled HDR environment lighting, an area light aggregated from every emissive triangle, a binary scene cache, and offline denoising. - 2026 · APR · 04
Where Corners Stay DarkAlchemy screen-space ambient occlusion: spiral-sampling each pixel's G-buffer neighborhood for the obscurance IBL flattens out, then a depth- and normal-aware bilateral blur before it multiplies the ambient term.
Open the buffer →+ 7 more reflections

