Picking Apart A Single Frame In DOOM

Illustration for article titled Picking Apart A Single Frame In DOOM

Ever wonder what exactly goes into rendering each painstakingly detailed frame in a game like DOOM (2016)? Well, Adrian Courrèges, a software Engineer based in Tokyo, has you covered.


Taking an in-depth look at one particular screenshot, Courrèges explains step-by-step all of the different processes and considerations at play:

Unlike most Windows games released these days, DOOM doesn’t use Direct3D but offers an OpenGL and Vulkan backend. Vulkan being the new hot thing and Baldur Karlsson having recently added support for it in RenderDoc, it was hard resisting picking into DOOM internals. The following observations are based on the game running with Vulkan on a GTX 980 with all the settings on Ultra, some are guesses others are taken from the Siggraph presentation by Tiago Sousa and Jean Geffroy.

You can either read intently about GPU occlusion queries, “frustum-shaped” voxels, and Gaussian blur, or simply marvel at each of the visual layers needed to accurately and gruesomely render each Gore Nest.

Kotaku staff writer. You can reach him at ethan.gach@kotaku.com



The incredible part about this, to me, is that the game is rendering this 60 times a second or more. That’s a lot of instructions to carry out in that time, and I know that some of the resources are reused, but ... damn - just shows how far GPU/Drivers/API’s have come.

More of this stuff please, as a developer I eat it up.