There’s something to be said for mystery. Maybe you don’t want to know how games transform textures, models and shaders into the final image you see, lest the magic be banished forever. For the rest of us, this breakdown of a single frame from Deus Ex: Human Revolution is a fascinating look behind the scenes of modern 3D tech and all the work the happens in mere milliseconds.
Using a special graphics debugging tool called “RenderDoc”, developer Adrian Courrèges was able to analyse in detail the way Human Revolution‘s engine puts together each frame of 3D information. Keep in mind that you’re often seeing 60 or more of these a second and your GPU (and to a lesser degree, the CPU) are rendering millions upon millions of pixels in the process.
Admittedly, Human Revolution‘s a little long in the tooth in gaming tech terms, but all of the techniques used in its Direct3D 11-capable “Crystal” engine are very similar to those in Unity and Unreal. The rendering pipeline, as it’s called, has to gather information about the scene in stages, starting with the normal maps (the textures that give surfaces detail and “bumpiness”), followed by a depth pass, which generates a texture the engine can use to determine how far away from the camera each pixel is.
Shadows are then generated, as is ambient occlusion, which darkens creases in the scene to add depth. This is followed by opaque and transparent objects, lighting and colour correction before finally, the user interface is rendered.
Courrèges doesn’t go into excessive detail about each specific step — you’ll need to read up on them individually for more fundamental explanations — but even if you have a basic grasp of the terminology, it’s a great introduction to modern 3D rendering in games.
Deus Ex: Human Revolution — Graphics Study [Adrian Courrèges]
Images: Adrian Courrèges