Retrospective — written in 2026, looking back.
Starting Again, On Purpose
Every post in this series so far has been retrospective — knowledge I already have, organized. This last one is different. It is a study plan,…
Retrospective — written in 2026, looking back.
A Series, Compressed
This series started in 2021, looking back at what rendering work had actually taught me as opposed to what I assumed it would. Across posts on…
Retrospective — written in 2026, looking back.
A Question I Keep Getting Asked, Mostly by Myself
Every few months I ask it again, usually at midnight, usually while debugging something an off-the-shelf engine would have…
Retrospective — written in 2026, looking back.
The Last Ten Percent That Reads as Ninety
Most of a renderer is correctness work. A shadow map either leaks or it doesn't. A normal is either in the right space or the…
Retrospective — written in 2026, looking back.
On a large machine, rendering budgets feel abstract. There is headroom, and headroom forgives. On a small device — a handheld, a battery-powered prototype board, a modest…
Retrospective — written in 2026, looking back.
Open a profiler on a slow frame and the eye goes straight to the biggest draws: the million-triangle mesh, the fullscreen pass with the heavy shader. Those are the visible…
Retrospective — written in 2026, looking back.
Every graphics programmer I know, including me, has a story about optimizing the wrong thing. Mine follow a pattern: a frame feels slow, I form a confident theory from the…
Retrospective — written in 2026, looking back.
Most lighting models look convincing in the middle of their parameter space. Put a moderately rough, non-metallic sphere under a soft light, pointed more or less at the…
Retrospective — written in 2026, looking back.
The Shader-Per-Material Trap
Early in my personal rendering experiments, every distinct surface got its own shader. A rough metal needed a highlight tweak, so I copied the…
Retrospective — written in 2026, looking back.
The Wrong Question
For a long time, when a shadow looked bad in a personal project, I asked: how do I make this shadow higher quality? The answers that invites are all…
Retrospective — written in 2026, looking back.
Copying Is Not Understanding
For a long time, every lighting shader I wrote was copied — not always literally copy-pasted, but copied in structure. I knew diffuse involved…
Retrospective — written in 2026, looking back.
The Renderer I Imagined
When I started studying graphics at DigiPen, I thought a renderer was a collection of effects. Draw triangles, add lighting, shadows, reflections —…