5 ms·
A few thoughts on this from someone who happens to work with graphics programming. Mega textures: I always thought their insistence on this technique was weird
by Agentlien 6y ago
A few thoughts on this from someone who happens to work with graphics programming.
Mega textures: I always thought their insistence on this technique was weird and was never quite convinced by it. I used to have a colleague who praised it to the skies and swore everyone would be doing it in a few years. It's interesting that they've moved away from it now.
Forward rendering: It's fascinating that they're going this way. I feel like everyone is all in on deferred rendering nowadays, except when targeting mobile. I wonder if this is because they want to target older systems and Nintendo Switch. I have heard that Doom Eternal renders surprisingly well on older systems and my own experience optimizing for Switch is that it's not worth it trying to deferred rendering to work efficiently on Switch.
Shadow mapping: the use of simple 3x3 PCF makes me feel a bit sad that variance shadow mapping never really took off. I remember reading about it and implementing my own version in 2010 and it seemed like the future.
Uber shaders and draw call merging: I really like this from a technical standpoint, but I wonder how it affects artist workflow. I know a number of artists who love using special crafted shader graphs for everything.
Reflections: I wonder if this was just an optimization for memory bandwidth, as suggested, or a compromise to allow to go fully forward rendering.
- jiggawatts 6y agoOut of curiosity, have you played the game itself? I played both the predecessor Doom 2016 game and Doom Eternal on the exact same hardware, and I was blown away by the performance and quality difference. Never before have I seen a game crank up the graphics quality this much and improve performance to this extent without requiring a hardware upgrade. To put things in perspective, I had to play Doom 2016 at 1080p on an NVIDIA RTX 2080 Ti for acceptable framerates, but I played Doom Eternal at 4K and it produced a silky smooth 60 fps throughout. Whatever they're doing... it's working!
- Agentlien 6y agoI've not yet had the chance to play Eternal myself. With a massive backlog of games and my own hobby project vying for what little of my free time I don't spend with my two kids... But from everything I've seen I'm deeply impressed with what Id has done these last few years. Of course, Id doing impressive things is nothing new, but these new Doom and the latest Wolfenstein was still beyond expectation.
- Bombthecat 6y agoWhat they are doing is: they got help from google to optimize shit out of the game for stadia. (online streaming service for games)
- flohofwoe 6y agoSuch problems are not solvable with money or manpower, and I don't think the Id team depends on Google engineering knowledge for GPU optimizations ;)
- flohofwoe 6y ago> Forward rendering... Isn't clustered forward rendering for lighting better in any aspect than "traditional" deferred shading, no matter if running on low- or high-end GPUs (because it wastes less memory bandwidth for accumulating light contribution from different light sources)? Also I think most rendering pipelines in modern games mix elements of both deferred and forward rendering (e.g. Doom Eternal renders additional information needed later in the frame into 'fat framebuffers', much like deferred renderers do).
- Agentlien 6y agoClustered rendering can be done both deferred and forward. They do a few things which are reminiscent of deferred, as you say. But what really makes a render deferred is the use of the gbuffer pass to only cull and collect data, followed by a rendering pass over a screen quad doing fragment shading with no potential overlap or wasted processing. Of course, you do get similar advantages from the depth prepass.