A couple of weeks ago, we had the pleasure of interviewing id Software’s Tiago Sousa and Axel Gneiting. We talked with them about some of the key features of the id Tech 6, the evolution of their Mega-Textures tech, as well as all both DirectX 12 and Vulkan. Enjoy the interview after the jump!
DSOGaming: Before we begin, please introduce yourselves to our readers.
Tiago Sousa: My name is Tiago Sousa, Lead Renderer Programmer at id Software and DOOM. Before id, I was at Crytek for over a decade working on CryENGINE and games like Far Cry and Crysis.
Axel Gneiting: Hello, my name is Axel Gneiting and I’ve been working on engine technology at id Software for about one year. Before that I was part of the team that shipped Ryse at Crytek Frankfurt. At id I have been involved in general engine work, optimizing it to run at 60 Hz on both CPU and GPU and I implemented most of the Vulkan renderer.
DSOGaming: DOOM is the first game that is powered by the id Tech 6, and we have to say that we were really amazed by it. Can you share more details about the key graphical/tech features of the id Tech 6?
Tiago: Sure. Besides the renderer, there was a fairly huge refactor / update across the entire engine. Renderer side, we are now a Hybrid Forward and Deferred renderer, supporting dynamic lighting, reflections, shadows and decalling solution across all surface types including transparencies.
High Dynamic Range Rendering and Physically based Shading were also relatively big introductions into idTech 6 and also art-wise – if you remember previous engine iterations were LDR with less shading happening. Then there are things like advanced post processing and anti-aliasing.
I guess you could say the key tech “feature” is more how everything is designed to look, perform and scale well at +60hz across all platforms.
DSOGaming: Does DOOM use Mega-texturing? And how were you able to overcome the previous engine limitations regarding dynamic lighting and multi-GPU support that affected all id Tech 5 games?
Tiago: For supporting dynamic lighting and to improve texture quality, we evolved Mega-Textures into a simpler, more performant solution that is more disk friendly, and has faster iteration times for art as well. Simple features like tilling were added; a new dynamic decaling solution was also introduced; texture inputs are now also a form of baked G-buffer input, so the common PBR inputs like Albedo, Smoothness, Normals and so on.
For multi-GPU we tried to mitigate inter-frame dependencies as much as possible to help IHVs achieve a fairly decent scaling.
DSOGaming: DOOM looks beautiful and runs incredibly well on the PC. How were you able to achieve something like that?
Tiago: Thank you. Not having to support 1 million different games and platforms helps the team focus on long term results and on things that matter, plus keeping code quality fairly high and minimalistic due to much less legacy / code entropy.
Performance was a huge team focus, and I mean all departments, not just code. On code performance side, I could say though that our philosophy was “early optimization is the root of all good”, and the results speak for themselves. For performance, I must also give credit to the consoles’ profiling tools; this is an area where PC has a lot of catch up to do.
Another important detail was consoles and lower platform bound being DX11 type of hardware, so, not having to support extremely old hardware and also the fact that current consoles have a relatively generous amount of memory, it actually helped a fair bit with our design choices.
For the visual side, it’s really a symbiotic relation of our rendering performant design and tools helping the amazing art department at id Software achieve their vision.
DSOGaming: Physically-based rendering is the next big ‘graphical’ thing. Can you explain the benefits of using this rendering technique to both our advanced-tech readers and the average Joe?
Tiago: My favorite PBR part is that it helps enforcing sanity / a good methodology for artists to work in a consistent matter, other than every single artist randomly creating textures without much physical meaning.
In simple terms, non-PBR solution can of course work, but changing lighting conditions you’ll start having lighting inconsistencies, which inevitably causes art to enter a loop. For example – why do things look OK on an artist’s machine but with different light conditions it doesn’t look as good; another example could be why some assets nearby look completely out of place.
These types of inconsistencies in the past would have created a lot of work for the art departments. Looking back, it’s hard to grasp how the Movie and Games industry ever managed to work without PBR.
That said, I believe we can still improve for a variety of different types of inputs and cases.
To summarize, one can say the main advantage is consistency of visuals/results across a wide variety of lighting conditions, generally better visuals in the end due to consistency, and very importantly is it helps save art time.
DSOGaming: Is id Tech 6 able to handle huge open-world environments (Skyrim-like) with the same quality of visuals that is available on DOOM?
Tiago: The engine can support relatively open worlds but it wasn’t our goal with the current idTech iteration, it was all about what worked for DOOM.
DSOGaming: Can you share more tech details about id Tech 6’s Global Illumination solution?
Tiago: For maximizing performance, on this iteration we kept to a mix of pre-baked and real-time components, being all inputs in HDR. For diffuse indirect lighting we ended up using a lightmap for the static geometry. For all types of dynamic geometry we made a derivation of Irradiance Volumes. For indirect specular it is an Image Based Lighting solution. The realtime components are approximated in screen space for performance, we ended up using a fairly fast derivation of Screen Space Directional Occlusion / Reflections.
DSOGaming: If you had to choose only one tech feature of the id Tech 6, what that would be?
Tiago: Hard to pick but I guess it would be how all lighting/shading works consistently and efficiently across a wide variety of surface types. As with most things, we can improve it, but I’m happy with the results.
DSOGaming: While testing DOOM, we noticed some scenes in which our GPU was not used to its fullest (even though we were not CPU or VRAM limited). Is this a limitation of the OpenGL API and can we expect better GPU utilization in these scenes with Vulkan?

Axel: From data we collected with our profiling tools we do not expect the GPU to be idle for significant periods of time in a GPU limited scenario. OpenGL does not have any limitation in this regard. In general, it’s a safe assumption that it behaves similar to DirectX 11. However, we do limit the number of frames in-flight to only one, because latency is very important for a very fast paced shooter like DOOM. This could lead to slightly lower GPU usage compared to an engine that allows more frames to be buffered. We expect Vulkan to help leverage remaining free GPU time by running asynchronous compute workloads if the hardware and driver supports it.
In case this scene is limited by CPU draw calls, Vulkan will certainly help immensely. DOOM on Vulkan will also distribute the rendering to more than one thread, which will help CPUs with more than two cores. Please mind that there is still game related code like AI, path finding and physics which cannot be sped up by using a different graphics API.
(Editor In Chief: we can confirm that this scene runs way better in Vulkan.)
DSOGaming: Since you’ve worked on both DirectX and OpenGL, what’s your opinion on both of these APIs? And do you consider Vulkan to be better than DirectX 12?
Axel: Overall we had very little issues developing DOOM with OpenGL. DirectX 11 might have an advantage when it comes to optimizations on driver side, as more effort was put into that over the years by the IVHs compared to OpenGL. Also admittedly, there is a broader range of tools that work with DirectX than OpenGL at this point in time. On the other hand, OpenGL has a bigger feature set through extensions and it is less restrictive in terms of certain GPU operations.
DirectX 12 and Vulkan are conceptually very similar and both clearly inherited a lot from AMD’s Mantle API efforts. The low level nature of those APIs moves a lot of the optimization responsibility from the driver to the application developer, so we don’t expect big differences in speed between the two APIs in the future. On the tools side there is very good Vulkan support in RenderDoc now, which covers most of our debugging needs. We choose Vulkan, because it allows us to support Windows 7 and 8, which still have significant market share and would be excluded with DirectX 12. On top of that Vulkan has an extension mechanism that allows us to work very closely with AMD, NVIDIA and Intel to do very specific optimizations for each hardware.
DSOGaming: Photogrammetry is a technique that has impressed everyone these past few years. Does id Tech 6 support it and what’s your opinion on it?
Tiago: It’s not really an engine specific feature. Photogrammetry has been around for quite some decades before it was a buzzword. Essentially it means using photography as means of data acquisition. One could say back in 2006 that Crysis used photogrammetry for Vegetation, Paralax Occlusion Mapped rocks, for ground detail and some other assets.
But it has been continuously refined. I’m a fan of real world data measurement / acquisition; I think it has some potential for speeding up production. I think one area, in particular for games that are aiming at a realistic art direction, is that for me it doesn’t really make sense to remake assets over and over again, so why not have a database?
From that perspective, I wouldn’t be surprised if someone would make a business out of it. Then there’s things like entirely scanning certain scenes; it could be interesting / doable for certain restricted cases – when I say restricted, I mean due to amount of data storage requirements, for a high fidelity / density / HDR encoded, is a bit insane.
Then there are things like characters scanning and other types of data acquisition, it’s definitively an interesting research field these days.
DSOGaming: Does id Tech 6 support destructible environments? And can we expect a id Tech 6 game to feature a destruction system as advanced as the one found in Frostbite 3 games (like Battlefield 3 or 4)?
Tiago: We support destructible environments. It’s something that is definitively on our list to improve. I think particularly these days, fairly good and performant results can be achieved with geometry cache type of solutions for massive scale destruction, mixing with physics for lower scale.
DSOGaming: Doom 3 – powered by id Tech 4 – was one of the few games in which almost all light sources casted dynamic shadows. It was mind-blowing back in 2004. However, we’ve noticed that in newer games, a lot of lights do not cast shadows. Is id Tech 6 able to render dynamic shadows on all light sources? And what’s the maximum number of light sources that can cast dynamic shadows in id Tech 6?
Tiago: The engine actually supports a fairly generous amount of light sources, conceptually > 100k, but we do clamp to a sane maximum of about 8k, although if you’re using that many light sources you’re likely doing it wrong! The amount of shadow casters is limited by the video memory we have to cache our shadows, so for a single frustum and for performance we do clamp to 256 shadow caster lights – it could be increased, but at performance cost and again, if you’re using that many, you are likely doing it wrong for shadow map based approaches.
Per frame only a very small subset of these are actually updated, since costs are constantly amortized over frames and at times cached entirely if nothing updated in a light frustum.
DSOGaming: Let’s talk about Ray-tracing. Does id Tech 6 support ray-tracing? How far away are we from a fully real-time ray-tracing (or path-tracing) lighting system in video-games?
Tiago: We could say our dynamic reflections is a ray-tracing approximation in an efficient / friendly space for realtime rendering, but it’s different to a fully-fledged ray tracing solution. There is a funny saying, that is something like “Ray Tracing is the Future, and will always be” ( particularly path tracing ) – and I think that’s going to be the case, for a long time, for fairly complex games and if we are talking about entirely photo-real approximation, and particularly with the current push for 4k and wider resolutions.
For the shorter term, I could totally envision smart path tracing approximations for not very intensive / simple environments, particularly solutions computed at a lower frequency rate than screen pixel density of course.
DSOGaming: Pop-in of objects is an issue that has not been addressed yet. While some games have higher LOD levels, every game – more or less – suffers from it. What’s really puzzling us is that while dynamic tessellation basically solves this problem by varying the level of detail on the fly, no one has ever used it. What’s your opinion on dynamic tessellation and have you experimented with it in order to eliminate object/environmental pop-ins?
Tiago: Back at Crytek times, we did use tessellation on Crysis 2 for certain type of simple assets and dynamically adjusted tessellation ratio. For generalizing it’s actually a relatively complex problem, starting with asset creation where artists usually want to have full control of the result. Regular realtime tessellation (phong and such simple derivatives) tends to actually smoothen out details artists want to control, so just a simple approach doesn’t suffice for general cases, particularly for character close ups – for example if we start from the low resolution mesh a lot of the data will be missing for a relatively good looking animation.
This is why we mostly see in games, tessellation used for visual fluff, so simpler / controllable cases, e.g. environmental effects, things that topologically are essentially a derivation from displacement/vector displacement mapping (water, rocky surfaces, footprints on snow and so on).
Then there’s some more fundamental issues, like tessellation having a cost attached to it, things will not entirely properly interact with the displaced surface. E.g. imagine a chair, on a displaced tile floor – there will be clipping.
But for eliminating pop-ins there’s actually quite a variety of approaches – if popping is noticeable in a game these days, it is generally from not taking into account techniques switching off, with other than via a binary solution.
DSOGaming: Thank you very much for the interview, any last words you want to share with our fans?
Tiago: I would just like to say a thank you very much for all our fans’ support to DOOM.

John is the founder and Editor in Chief at DSOGaming. He is a PC gaming fan and highly supports the modding and indie communities. Before creating DSOGaming, John worked on numerous gaming websites. While he is a die-hard PC gamer, his gaming roots can be found on consoles. John loved – and still does – the 16-bit consoles, and considers SNES to be one of the best consoles. Still, the PC platform won him over consoles. That was mainly due to 3DFX and its iconic dedicated 3D accelerator graphics card, Voodoo 2. John has also written a higher degree thesis on the “The Evolution of PC graphics cards.”
Contact: Email




This was VERY interesting. His view on photogrammry,, I tthink what the question was addressing was the mesh data being gained from an object and the photo being used as the textuure
questions don’t address anything by nature. The answers do.
I played the DOOM demo and it was running smoothly… until I happened to die. After the game loaded, my framerate stuttered very badly. Is it a fault of idTech or my drivers? If the former, was it fixed in the full version?
My game crash sometimes after reloading. Even on my new system. Its a ctd. No onfo or anything like that. Just a ctd. Sometimes in the mid of a good fight.
Temps are fine. New installation.
I think it may be a problem with openGL. Same thing happened to me with Wolfenstein: The New Order. What GPU do you have? I have a theory..
GTX 770.
That was interesting more of these please.
I agree, more interviews! Exclusive content is always the way to go and devs, especially indie ones, always welcome extra exposure.
And you can always ask your readers to pitch in questions if you’re not too familiar with the game/genre/dev in question.
Indie devs aren’t making their own game engines.
So? What about asking questions about, you know, those things called games?
Unfortunately, only a few of the “big” developers are interested in such lengthy interviews (kudos to id Software, Crytek and all others that agreed on these interviews). And since we’re focusing on the tech area, we can’t really interview small indie devs (except rare occasions like Reset)
Don’t ask for more, elif they’ll become more like Gamingbolt. These interviews are few and far between.
Great interview!
With Vulkan the performance is really incredible now. Plus that TSSAAx8 post process is the first time temporal AA has not resulted in any obvious visual artifacts or felt laggy in any way and it seems to literally not cost any performance, but maybe that’s just the generally high framerates making a few frames impact seem like nothing. So I guess the problem of aliasing is just about solved, finally. Great job! Now they only need to work on stability.
Its not perfect, its easy to see some artifacts in certain areas. But it is very good indeed, it fixes the horrible shimering and shader aliasing.
I hate that shimmering with a passion!
The performance in Vulkan only seems so incredible because OpenGL performance was so bad.
Tomato, tomahto. The game is now fully playable at HIGH framerates, on my old CPU. That’s all that matters.
cpu is useless when you find out that AAA games are build for consoles in mind
lel that’s hillariouis
“We choose Vulkan, because it allows us to support Windows 7 and 8, which still have significant market share and would be excluded with DirectX 12”
There are 10 games using DX12 and next 18 confirmed for next 6-8 months. I hope that after release next 4-5 big AAA games designed for DirectX 12 all gamers will upgrade to Windows 10. Its free for one more week and next 4 months is 5 big DirectX 12 AAA titles:
– Gears of War 4 (exclusive DX12)
– Forza Horizon 3 (exclusive DX12)
– Battlefield 1 (DX12 + async shaders)
– DeusEx 2 Mankind Divided (DX12 +async shaders)
– Watch Dogs 2 (DX12 + async shaders)
Most gamers on Steam already use Windows 10 and DX12 but some people say that they don’t want DX12. I really don’t understand why some people want use DX11 instead of DX12 even when they know that new system is for free. Its strange. But I hope that more and more developers will use DX12. Now we have 28 confirmed games using DX12 (source Wikipedia), its nice list but I hope that it will be longer in next few weeks.
the future of gaming is dx12 bot vulkan.
Why can’t you just be happy with both and leave us all alone?
Dude, stop. You post this garbage in every thread/article that brings up Vulkan.
MS willy ain’t going to suck itself, so I guess someone has to step up.
But its true. On Steam there are more DX12 gamers that DX11. I hope that after next week another 5-10% gamers do free upgrade. Its last chance to upgrade for free
I really don’t understand why some people hate DX12.They even hate MS games like Forza or Gears. Strange
There is no logical reason to use an API that FORCES people into an ecosystem when there is an alternative that provides other ecosystems for you to be part of.
Also your image is stupid because that 44% cannot use DX12, and that entire percentage can use Vulkan.
Indeed, as I already pointed out to him days ago – only 41.4% of Steam Users actually have both Windows 10 & a DX12-capable GPU.
I also pointed out to him the 0.71% difference between the two numbers he keeps listing (ergo DX12 exclusivity reduces potential customers by nearly 50%), but that doesn’t seem to have registered with him either.
What
“I hope that after next week another 5-10% gamers do free upgrade.”
Good luck with that.
well 3.5% of Steam gamers upgraded to Windows 10 last month………So 5-10% is not a stretch
There will definitely be a boost at the end, sure, as people scramble to upgrade to Windows 10 before the free year expires, but factoring in them & the people rolling back to Windows 7/8/8.1 who’ve already tried it both, expecting a 10% boost is absurd.
It’s rather irritating how close to the end of the month the offer expires, since a lot of people will get factored in as “Windows 10 users” on this month’s Steam Hardware Survey, even though most of them will just be trying it out, as that won’t stop the shills from parading that number around, however inflated it may be.
true that……….however I can see around a 5% uptake in Windows 10,
So… this is how it feels when someone write about emulators and you scream piracy. F off
I’ve never screamed privacy nor responded to anything about emulators.
Let the man speak, this is freeWEB
Sigh, here comes the metroturds.
49% of every single windows based computer in the world currently uses Windows 7 and only 20% are on 10.
Steam makes up 125 million gamers (2015) while Nvidia claims there are 330 million core gamers (Investor Day 2015: GeForce Gaming)
So steam doesn’t even make up half of all gamers and it is disingenuous to use its numbers as a representation of gamers.
Come July 29th those numbers of 10’s growth will plateau as no one is interested in paying for the Mumbai outsourced piece of p00 that is Windows 10.
Interesting interview. Loved reading it and learning more about id6 tech.
I’d bet 5k pesos you didn’t learn a thing.
Gimme those 5k pesos.
Man, I hope Vulkan wins out.
Unfortunately it won’t, as time goes the base will become Win10 users as the major studios start utilizing Dx12 and Vulkan exclusively which by the time previous Windows will become irrelevant.
Then gamers are f#*ked.
Why? DX12 and Vulkan are very similar. Did you read the article?
No. Not they’re not.
For their function both APIs are very similar but yes they are not in terms of compatibility where somehow Vulkan support previous Windows and Microsoft doesn’t and tha’ts there own product. But, that’s business and innovation for you.
Did you ever think of DX12 AND Vulkan support? Both API’s in the same game, like in BF4 with DX11 and Mantle……………..
Are you even considering the fact that these APIs will advance with hardware technology overtime that previous Windows will inevitably die out?
Nope, dev’s adding both API’s in 1 game…..
Okay, can you read anywhere in my comments where I deny Vulkan support? I’m sure you’ll agree Vulkan will have to advance just as much as Dx12 does right? And in those advances previous Windows will become irrelevant. Like arguing with a child
There are still Windows 8.1 and lower users, they can play all new Triple A games on Vulkan, while Windows 10 users can choose DX12 or Vulkan.
That was all i was saying, nothing more nothing less…..
Stop acting like a 10 year old kid
Geez you’re vapid af lol!
Tell me something I don’t know, of course those option are available the fact is I wouldn’t be surprised compared to you within the coming years those “lower-end” lusers will be done for. Sorry fact of life.
Too bad Bethesda made ID make Doom’s Vulkan mode online only!
Vulkan has more use cases, so regardless of how it compares to DX12, it will still win out in other scenarios. I foresee it doing especially well on Android.
Definitely.
I suspect that Vulkan shall live long and prosper
It will. So far there has beeen 10000000…. I mean 1 big game using it xD
I don’t believe this game is that well optimized. Even in Open GL I cannot get solid 1080p 60 FPS like the consoles do. They must run with dynamic resolution enabled or something This is probably the second game where I cannot match or exceed console performance with FX 6300 and GTX 760.
Consoles use dynamic resolution to achieve that 60fps. Try lowering some graphic settings.
Axel barely got a word in lmao
Damn everybody leaving Crytek lmao
Great interview. Good questions and answers.
That was a good read. Its good to see those guys at ID. I liked Crytek in the past.. but not so much anymore.
Nice interview m8.
Interesting interview but I think I could use a translator from the techno-language to hooman (stewpee’d).
And as usually M$oft’s PR troubadour “Amiga 4000” and his alter ego “Hvd” are at it again.
Nothing new to see here people.
Please disperse.
I love all the comments that act like they got the article but reference none of it. Praise Kek
test
Tiago Sousa is like John Carmack – except he doesn’t stand there and talk to you about “voxel based ray tracing” for 4 hours only for him to realize everybody left the room, but he’s still talking…
“early optimization is the root of all good” – All developers need to think like this. Too many developers do optimization passes AFTER the game is in alpha/beta. If it costs more or takes longer, then its worth it for the consumer.
Really glad id was able to put themselves back in the spotlight with DOOM. They’ve obviously got a very talented team across all departments and the fact that they’re still pushing open source API’s even after Carmack’s departure is great to see!
It would still be hard to implement
OK you’ve talked ab. multiGPU but well, theres no support fot ir as for now.
Will you update Doom for any sort of SLI? If yes – when?
btw great read, thanks!