Notes on the Metro 2033 tech interview
This Digital Foundry interview about the tech of Metro 2033 is inspiring reading. Shishkovtsov is a smart guy.
The part I liked most is deferred reflections. It is a very simple way to get reflections out of a deferred renderer: render the reflected attributes (position, normal and so on) into the geometry buffer and shade them as usual.
After reading it I am also thinking about implementing Exponential Shadow Maps.
I first read the interview about half a year ago, and I have rewritten a lot of the engine since then. It got a thread pool, it was split into several separate modules, and more.