idTech 666: The Secret of DOOM's Render
Events
Subscribe:  iCal  |  Google Calendar
Cologne DE   19, Aug — 21, Aug
Cologne DE   22, Aug — 26, Aug
Seattle US   28, Aug — 30, Aug
Atlanta US   30, Aug — 4, Sep
SEATTLE US   31, Aug — 4, Sep
Latest comments
by Jeanette T. Clegg
3 hours ago

Your place is valueble for me. Thanks!… https://hotmail0909.weebly.com/blog

by mafhfuz@7cgi
6 hours ago

You have done an outstanding job. Greetings to Toivo Glumov and Natalie Kayurova.

It'd be great to see some kind of tutorial with tips how you made it.

idTech 666: The Secret of DOOM's Render
5 August, 2016
News

SIGGRAPH 2016 had a lot of very interesting technical talks from some of the best programmers and artists working in game development. One of the highlighted talks of last week was the description of the technology used to render DOOM. The game features amazing 3d visuals and mind-blowing 60 FPS. To achieve this the team of developers, including Tiago Sousa & Jean Geffroy had to invent a lot of clever technical things.

2016-08-05_12-52-25

The talk itself is not yet featured on the SIGGRAPH website, but you can download the slides from the presentation and read the text of the whole talk (which is even better).

At a high level a frame in DOOM looks something as this. We do a Hybrid approach, by using opaque passes and deferred for a nice quality / performance ratio. Using Forward also has some auto-magic benefits for quality ( which we will talk soon ) and things like MSAA. As you might have guessed, being Forward forces us to prepare all lighting and shading data ahead of time as much as possible. That means things like the data structure used to index into things like Light sources, are prepared ahead of time. Shadows are other obvious case. We do quite some work keeping costs down here, resorting to things like caching and smart composite to mitigate costs when update required.

For the deferred stage, we output the minimal data required for doing things like reflections, specular occlusion and so on. I mention approximated times has times are always variable. For example posts can grow when DOF is enabled or some game related Post Process – albeit posts run in Async on consoles and Vulkan.Or the usual Particles, where we can get cases with some heavy overdraw.

To achieve the incredible speed developers kept the amount of shaders to a minimum. There are about 100 unique shaders and the team believes it could actually be less if some tidy up.

Here’s just some slides to show how the team worked with lighting.

 

2016-08-05_12-55-54 2016-08-05_12-55-36 2016-08-05_12-55-20

2016-08-05_12-55-03 2016-08-05_12-53-40 2016-08-05_12-50-41

You can download the full version of the lecture here (addition). Don’t forget to go over those slides. There’s a lot of very interesting stuff there if you’re into rendering.

Leave a Reply

Be the First to Comment!

avatar
wpDiscuz