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
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
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
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
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 extension.
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
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.
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!
or any other Hot Hardware Article in the PC Hardware Forum!