The NV35 Doom3 Advantage
UltraShadow Technology  Accelerating The Gloom

By - Dave Altavilla
June 4, 2003

 

With Id Software's upcoming Doom3 title looming on the not so distant horizon, we've been taking a sincere interest in Id's new game engine.  Since it will obviously become a definitive tool in our benchmarking test suite, for next generation graphics products and related articles, we were also more than interested when our colleagues at Anandtech posted preliminary benchmark figures in their GeForce FX 5900 Ultra launch article.  The scores represented here showed a significant lead for both the NV35 and NV30, versus ATi's Radeon 9700 and 9800 products.  It piqued our interest for sure and we decided to ask NVIDIA what they felt may be attributing to the GeForce FX's obvious strength, at least currently, with Doom3.

The answer we got from Senior PR Manager, Brian Burke, was "UltraShadow"...  It seems that Doom3's advanced lighting and shadowing effects place a heavy load on the graphics pipeline and NVIDIA feels that UltraShadow technology is a clear advantage in their architecture, versus other products on the market.  We conducted a quick Q&A with Brian, on the topic of UltraShadow and Doom3, as well as its relative impact on performance in next generation game titles, that will also utilize the Doom3 engine.  Before you dig in here, we suggest taking a look at NVIDIA's UltraShadow Tech Brief, if you need a refresher course on the technology.

UltraShadow Q&A With NVIDIA
Could this be what currently gives NVIDIA the Doom3 edge?

If UltraShadow technology is a "hardware assist" feature that programmers at Id have taken advantage of, in what way does the hardware architecture actually enhance the capabilities of this method of "Z-Cull" for shadows?  Is there some sort of programmable register or mechanism within the chip that allows the developer to define their clip plane parameters?  Is there a memory buffer for caching of this information, with respect to what is and is not supposed to be processed?  Can you define better for us how your chip differs from a hardware perspective, versus ATi, in this regard?

We modified our GPU architecture to be able to process depth bounds methods. These methods are called by the "depth_bounds" API which we presented to developers @ GDC.  When invoked, these methods provide the information necessary for our GPU's with UltraShadow to cull out shadow pixels beyond the constraints set by depth bounds. It involved modifications to several units within our GPU's.
 
This technology is currently patent pending by NVIDIA, and as such, so it would be difficult for ATI to provide the same benefit without violating NVIDIA IP.  This technology is over and above such advances as 2-sided stencil, and clip planes, which both ATI R3xx GPU's and NVIDIA GeForce FX GPU's support.  The benefit depends on the scene and # of lights, but can be up to 30% in some cases.

 

In what way does the "depth_bounds" API differ from the clip plane method of culling with respect to shadow rendering optimization? 
A clip plane culls based on the geometry you're rendering.   Depth bounds test clip fragments based on the depth value of the pixel in the frame buffer.
 
 

Since NVIDIA presented this API to Developers at GDC and it was implemented in Doom3, can we expect other Developers to also make use of the technology? 

Yes. The Doom 3 engine will be licensed to many companies, so that will help.  UltraShadow is exposed in Open GL right now via "EXT_depth_bounds_test", a multi vender extensionWe are working on getting it in to Direct X.  It is also already in the game Abducted, from Contraband Entertainment.
 
 

Would it be possible for another competitive graphics chip to somehow, in another fashion, accelerate a "depth_bounds" call or cull out additional shadows pixels beyond depth_bound constraints?

Maybe, through some process that hasn't been invented yet.

 

 
Is there any perceivable image quality degradation with UltraShadow invoked?
No, it just eliminates unnecessary processing.  That does not effect image quality, it only makes it render faster.

 

So there you have it.  Perhaps this is truly where the NV35 will shine or perhaps it's just that ATi hasn't begun to optimize their Doom3 performance yet, in their current drivers.  Either way, the fact that Doom3 indeed makes use of NVIDIA's "UltraShadow" technology, is certainly very positive momentum for this new feature they are evangelizing with the Game Devs.  We'll have to wait and see in the months ahead, how the landscape shakes out, with respect to Doom3 performance levels between the NVIDIA and ATi camps.

Incidentally, we've also sent out an email to John Carmack, asking for his comment on this whole topic of UltraShadow in his new game engine.  With any luck, John will hopefully find time in his busy schedule to respond to our questions and if so, we'll certainly come back here with an update.  So watch this space!

 

 

Discuss this or any other Hot Hardware Article in the PC Hardware Forum!