<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
<title>Rendering in Retrospect</title><link>index.html</link>
<description>Notes on real-time rendering, written while building and studying it.</description>
<language>en</language>
<item><title>My Next Study Plan: CUDA, Kernels, and Attention</title>
<link>posts/next-study-plan-cuda-kernels-attention.html</link><guid>posts/next-study-plan-cuda-kernels-attention.html</guid>
<pubDate>Wed, 23 Dec 2026 00:00:00 GMT</pubDate>
<description>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,…</description></item>
<item><title>What Years of Rendering Taught Me: Five Principles</title>
<link>posts/five-principles.html</link><guid>posts/five-principles.html</guid>
<pubDate>Fri, 18 Dec 2026 00:00:00 GMT</pubDate>
<description>Retrospective — written in 2026, looking back.
A Series, Compressed
This series started as a look back at what rendering work had actually taught me, as opposed to what I assumed it would. Across posts on physically…</description></item>
<item><title>Why I&#x27;m Building a Custom Engine Again</title>
<link>posts/why-im-building-a-custom-engine-again.html</link><guid>posts/why-im-building-a-custom-engine-again.html</guid>
<pubDate>Sun, 13 Dec 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Post-Processing Is Where Taste Lives</title>
<link>posts/post-processing-is-where-taste-lives.html</link><guid>posts/post-processing-is-where-taste-lives.html</guid>
<pubDate>Tue, 08 Dec 2026 00:00:00 GMT</pubDate>
<description>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&amp;#x27;t. A normal is either in the right space or the…</description></item>
<item><title>Rendering Under Tight Budgets: Small Devices, Big Constraints</title>
<link>posts/rendering-under-tight-budgets.html</link><guid>posts/rendering-under-tight-budgets.html</guid>
<pubDate>Thu, 03 Dec 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Draw Calls, State Changes, and Other Invisible Costs</title>
<link>posts/draw-calls-state-changes-invisible-costs.html</link><guid>posts/draw-calls-state-changes-invisible-costs.html</guid>
<pubDate>Sat, 28 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Stop Guessing: A Profiling Habit for Graphics Programmers</title>
<link>posts/stop-guessing-profiling-habit.html</link><guid>posts/stop-guessing-profiling-habit.html</guid>
<pubDate>Mon, 23 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Lighting Models Break at the Edges</title>
<link>posts/lighting-models-break-at-the-edges.html</link><guid>posts/lighting-models-break-at-the-edges.html</guid>
<pubDate>Wed, 18 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Materials Are Data, Not Formulas</title>
<link>posts/materials-are-data.html</link><guid>posts/materials-are-data.html</guid>
<pubDate>Fri, 13 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Shadows Are a Budget Problem, Not a Quality Problem</title>
<link>posts/shadows-are-a-budget-problem.html</link><guid>posts/shadows-are-a-budget-problem.html</guid>
<pubDate>Sun, 08 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>The First Shader I Actually Understood</title>
<link>posts/first-shader-i-understood.html</link><guid>posts/first-shader-i-understood.html</guid>
<pubDate>Tue, 03 Nov 2026 00:00:00 GMT</pubDate>
<description>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…</description></item>
<item><title>Building My First Renderer: What I Thought Rendering Was, and What It Actually Is</title>
<link>posts/building-my-first-renderer.html</link><guid>posts/building-my-first-renderer.html</guid>
<pubDate>Thu, 29 Oct 2026 00:00:00 GMT</pubDate>
<description>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 —…</description></item>
</channel></rss>