Reverse engineering the rendering of a frame in Deus Ex: Human Revolution

Earlier this year, Adrian Courrèges wrote an article detailing his findings while reverse engineering the rendering pipeline in Deus Ex: Human Revolution.

Starting from a given frame, he illustrates the different stages in the rendering: creation of the G buffer, shadow map, ambient occlusion, light prepass, how opaque and transparent objects are treated differently, volumetric lights, bloom effect in LDR, anti-aliasing and color correction, the depth of field, and finally the object interaction visual feedback.

Here are a few screenshots stolen from his article:

Normal map

The light pre-pass

Final image

Update:
Adrian since then posted a new article, this time breaking down the rendering of a frame in Supreme Commander. The comments also include insights from the programmer then in charge of the rendering, Jon Mavor.

Lighting and atmospheric effects in Reset

I’m a bit late to the party, noticing that , co-founder of Praxis, wrote a series of articles presenting an overview of the tech involved in the rendering engine he’s writing.

Shading and atmospheric effects in Praxis’ engine

The results are visually impressive, so it’s very unfortunate he doesn’t give more details. This video in particular, showcasing real-time atmospheric effects is outstanding.

Is tiled forward rendering the new hot thing?

I see more and more people talking about tiled forward rendering, and it seems to be the new hot thing everyone wants to try. AMD recently released a tech demo using such a technique: Leo.

Aras Pranckevičius, rendering architect at Unity, discussed modern forward rendering in an article, 2012 Theory for Forward Rendering, and later dropped a bunch of Tiled Forward Shading Links (which I won’t duplicate here so just click). Wolfgang Engel argues tiled based approaches don’t pay back when many lights cast shadows, compared to deferred lighting. At last Brian Keris discusses Tiled Light Culling, for the diffuse and specular contributions.