About
Graphics programmer building renderers — and writing about the choices the math doesn't make for itself.
> glReadPixels(contact);
> glDispatchCompute(now);
NOW // 2026.05
Wrapping up chapter five of the path tracer series — the one where the renderer finally walks into San Miguel. Starting on Vulkan fundamentals next, with frame profiling close behind.
> glEnableVertexAttribArray(focus);
- Real-time rendering — deferred PBR, image-based lighting, moment shadow maps, SSAO, one-bounce indirect illumination. Built up chapter by chapter in Real-Time Light.
- Offline path tracing — Monte Carlo integration over ten million triangles, with BVH acceleration, multiple importance sampling, and microfacet BRDFs. Worked end-to-end in A Path Tracer.
- Writing it down — each chapter, a long-form case study of one renderer, written in the voice the code was built in.