Doom 3 might've been better off ditching character normal maps

inlimbo

Newcomer
With already severely limited overhead wouldn't this have freed up resources to 1) up character polycounts just enough and 2) deliver more variety in those characters? No more mitten hands and block feet, no one size fits all jumpsuit or set of marine armor, and maybe just enough memory to keep a few ragdolls around.

Silent Hill 2 and Silent Hill 3 had already shown that raw polygon models could do the job just fine.
 
Would ditching the normals free up the necessary resources to appreciably increase polygon density? Especially on hardware of the time I'm not sure it would have mattered.
 
Would ditching the normals free up the necessary resources to appreciably increase polygon density? Especially on hardware of the time I'm not sure it would have mattered.

I don't know. Maybe increasing those polycounts makes the shadow casting that much more expensive, offsetting any benefit. And I'm not well versed in on average how much normal map data bloats texture size, but I've gotta imagine ditching them would've at least freed up the memory necessary to grant them more texturing options on characters.
 
I don't know. Maybe increasing those polycounts makes the shadow casting that much more expensive, offsetting any benefit. And I'm not well versed in on average how much normal map data bloats texture size, but I've gotta imagine ditching them would've at least freed up the memory necessary to grant them more texturing options on characters.
Polygons are expensive in id Tech 5 because of the shadows. Which is why they used normal maps. But I agree normal maps tend to look shit on human characters.
 
They're expensive because stencil shadow performance is inversely proportional to polygon complexity, but I'm not talking any kind of crazy increase in polycount on characters. Just enough to finesse some of the finer details. I mean Doom 3's character models are already fairly complex for their era and its performance budget but where there are obvious rough edges I think it's only to make room for the normal maps.

If you take those out of the equation and use the freed up texture memory to make smarter use of a wider palette of textures in concert with slightly more nuanced models, I think you have a win visually within in the same scope of performance. Am I way off base?
 
Though I guess I can't make this thread without mentioning that Doom 3's creatures are almost uniformly excellent models, normal maps and all, so the crux of this argument rests largely with the human characters and zombies, which were clearly shortchanged a little in the balance.
 
I think the normal maps allowed them to have the apearence of geometric detail they would never be able to match with raw polys that gen, no matter what other concessions they could have made. Of course faking geo with normal maps is never perfect, but even still.
If they were willing to let go of the technical elegance and purity they were going for (every single light source is shadowcasting, perpixel and rendered i real time) they could have used lightmaps for most ambient lights and fill lights and kept the dynamic stelcil shadowed ones only for main lightsources in each scene. This would have made the game look much better (even if not as technically impressive)

EDIT: Allthough that change would not imediatly free up vram for more textures as the OP was seeking, it would actually TAKE from it. But with less dynamic light sources and shadow volumes, they'd probably be able to model their assets so as to rely more on geo to convey certain details and be able to use tiling textures and decals more often, potentially achieving similar end results with less and smaller textures, and maybe extra geo to boot.
 
Last edited:
Lots of those fill lights, maybe even most of them, are interactive. I'm glad there are no baked lights in Doom 3.
 
I'm with AlBran, it was the stencil shadows that was the real performance killer.
From recollection normal maps didn't hugely increase texture size (already had most of the needed data in specular maps or something), its a well balanced visual quality for performance hit, on a less bottlenecked part of the hardware which is why it stuck around & stencil shadows hasn't.

Maybe stencil shadows would work better with modern tessellation hardware? Probably the down sides still rule it out & improved techniques/hardware/APIs allow so much more other stuff.

(I can't help feeling this thread is not entirely dissimilar to the words I seem to be having tremendous difficulty with my lifestyle)
 
Last edited:
I'm with AlBran, it was the stencil shadows that was the real performance killer.
From recollection normal maps didn't hugely increase texture size (already had most of the needed data in specular maps or something), its a well balanced visual quality for performance hit, on a less bottlenecked part of the hardware which is why it stuck around & stencil shadows hasn't.

Maybe stencil shadows would work better with modern tessellation hardware? Probably the down sides still rule it out & improved techniques/hardware/APIs allow so much more other stuff.

(I can't help feeling this thread is not entirely dissimilar to the words I seem to be having tremendous difficulty with my lifestyle)
As far as I know, Normal maps + specular takes a whole new RGBA texture, so had doom not used it, it would be able to have twice as many different textures with the same ram.
HW tessellation, if somehow could be made to assist with stencil shadow volumes, would only affect the generation of the 3D volumes themselves, but it would do nothing about the depth testing agaimst them to create the actual scree-space stencil, which consumed A LOT of fillrate.
 
I mean this is a thread about graphics tech used in a 2004 game...

It was the final nail in the coffin of Geforce FX dustbusters when it was revealed Carmack was forcing DX8 equivalent path after years of '9700pro may look good now but actually sucks, just wait till Doom3 comes out' o_O
The question of why Doom3 was not as good as FarCry or Halflife2 is very very long settled :runaway:
 
I thought Doom3 runs FX cards on the same full featured path as R300+ cards. There was originally going to be a NV30 path but it was dropped.

Other games do force FX cards onto a DirectX 8 path. All of the Source engine games do AFAIK. Far Cry too I think.
 
Last edited:
Back
Top