View Full Version : UltraShadow I and II in DOOM3

08-23-04, 11:26 AM
This was originally posted by SHATAAN on Guru3D. After reading it I decided to copy and past (and link the original thread's URL at the bottom) for convenience. It looks to be some *very* interesting info:-

"I added the same commandline to my config, and as far as I know it is working. They say that it does work for the 5900/5950s.

seta com_fixedTic "-1" removes 60 fsp cap

""You may remember I had posted details last week that UltraShadow II wasn’t being utilized for Doom 3, like most of you had expected it would. John Carmack mentioned that it can be enabled, but it may require unreleased drivers.

I emailed Brian Burke at NVIDIA about this, to see if the latest 61.77 drivers supported UltraShadow II, and whether the technology can be used in Doom 3. Here’s what he had to say:

"The NVIDIA Forceware graphics driver version 61.77
and the GeForce FX and 6 Series of GPUs provide
superior performance in Doom 3 thanks in part to
NVIDIA’s UltraShadow technology. The retail box
version of Doom 3 transparently benefits from
UltraShadow II’s efficient Stencil Shadowing Engine.

Doom 3 also directly supports UltraShadow II’s depth
bounds test for accelerating shadow volume rendering,
but this feature must be explicitly enabled with
the r_useDepthBoundsTest console variable."

How UltraShadow II Affects Doom 3

Turning up multisampling (FSAA) and turning down anisotropic filtering and texture detail is a way to see benefits of UltraShadow II at work. Essentially those on low-end computers can benefit it the most. Here’s a technical explanation by an unnamed NVIDIA employee about how UltraShadow II works in Doom 3 and how to benefit from its technology:

The benefit from “r_useDepthBoundsTest 1” will be greatest when you turn up multisampling and increase your screen resolution and turn down (or simply leave alone) things that affect shading speed (aniso, texture detail).

This is because “r_useDepthBoundsTest 1” improves the stenciled shadow volume rendering performance portion of Doom3’s rendering workload (but can’t help the shading portion).

You can SEE the benefit of “r_useDepthBoundsTest 1” by also enabling “r_showShadows 1” (that renders the shadow volumes in wireframe to visualize the shadow volumes that are otherwise rendered invisibly). If you toggle betweeen “r_useDepthBoundsTest” on an off, you’ll see less wireframe shadow stuff is rendered. This is indicative of the kind of pixel update savings going on when “r_useDepthBoundsTest” is enabled.

The wireframe shadow volume pixels you no longer see being rendered when “r_useDepthBoundsTest” is on are for pixels that are NOT going to be in shadow for a particular occluder. UltraShadow is effectively saving this pixel update work.


He also gave more technical details about UltraShadow II.

UltraShadow II is a collection of a number of technologies including the following:

Stencil Shadowing Engine which includes:
two-sided stencil
fast z/stencil-only rendering
fast z/stencil culling
programmable depth bounds test

To enable UltraShadow II in Doom 3,
bring down the console by holding down
CTRL+ALT and hitting the ~ key. Type
in r_useDepthBoundsTest 1 and hit enter.
Then type vid_restart and hit enter. UltraShadow II
should be enabled if you’re using the
latest ForceWare and 6800 series card."

UltraShadow II was included as a feature in the NV35=5900/5950 cards as well."

Last edited by Shataan on 08-23-2004 at 03:27 PM"

Here's the original thread (http://forums.guru3d.com/showthread.php?s=&threadid=103039) on Guru3D.



08-23-04, 11:45 AM
So basically UltraShadow II is really only needed for a low-end system? Is there any point to me enabling it with my 6800GT?

08-23-04, 12:00 PM
Apparently r_usedepthboundsTest yields little to no performance gain on high-end systems. So no, I wouldn't worry about it.

08-23-04, 06:52 PM
Just add +r_usedepthboundstest 1 +vid_restart to your D3 shortcut and you won't have to worry about turning it on everytime you run it. The reason you have to use vid_restart is because reopening the game the boundstest defaults back to 0 for somereason instead of sticking to 1.

08-24-04, 07:30 AM
Like I thouht, the bounds test only accelerates the stencil volumes, but because these are drawn soo fast, accelerating them makes little difference, when most of the time is spent texturing and shading.

08-24-04, 04:26 PM
Wow! I just tested this and here are my results:
4xAA 16xAF Trilinear Filtering Opts off (66.00)

Ultra Shadow off: 36.00FPS
Ultra Shadow on: 39.5 FPS

Pretty nice increase!

08-24-04, 05:49 PM
The fps uncap thingy works too. lol That was my post at guru3d. hehehhhe My quote got quoted. ;p