Doom 3 Graphics Mod, Nvidia only

imported_humey

Senior member
Nov 9, 2004
863
0
0
NvNews Forum member tertsi has been developing a graphics mod for Doom 3 (and RoE) called 3mood. Specifically developed for NVIDIA NV3x and NV4x GPUs, 3dmood controls specular highlighting and features offset mapping. The special effects enhance an already impressive graphics engine and come at a minor cost in performance!

http://www.nvnews.net/#1113822627
 

RussianSensation

Elite Member
Sep 5, 2003
19,458
765
126
Looks nice. But I just dont see how NV3x cards can use this mod and ATI cards cannot? If such old tech is capable of using it, then surely new ATI cards have the theoretical capability to use it, no? Must be an exclusive feature for Nvidia cards (as in bragging rights or showing off), rather than an exclusive feature based on the cards' capabilities.
 

imported_humey

Senior member
Nov 9, 2004
863
0
0
Probably as its a openGL game and nvidia has better openGL code.

No idea, look in the forums where he offered download of it then few pages later a new build with fixed but still another new built to come to stop faces looking plastic.

If no info em ail or im/pm him.

I say well done to the guy for doing this, he is not a Nvidia worked just a peep.
 

Fenuxx

Senior member
Dec 3, 2004
907
0
76
It is exclusive to NV3x and NV4x cards as those chips have UltraShadow and whatnot. It also may need something exclusive to the "CineFX" engine. This is just some of the optimization things that developers do. It just happens to be a single person this time. Just think about the "Optimized for ATI" and "The Way Its Meant To Be Played" things that the companies do. This is no different.

Anyways, it looks like it may be worth while, so I may end up giving it a try.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: RussianSensation
Looks nice. But I just dont see how NV3x cards can use this mod and ATI cards cannot?

Based on the screenshots of his GUI in that thread, at least some of what it's doing is using FP16 shaders (which NV30/NV40 can run at 2x the speed of FP24/FP32 shaders) for performance. He's also doing something with offset mapping (very similar to parallax mapping) to enhance textures. The "NRM" instruction is (I think) a high-speed FP16 hardware normal mapping computation. This also NV-specific (I don't know if ATI has something similar in R4XX).

You could certainly do the same thing graphically on R300/R400, but you'd also probably take a bigger performance hit (which appears to be ~20% for his changes, although nobody seems to have done exhaustive benchmarks).

Edit:

Here's a 3DCenter article on NV40 that has more information on the pipelines.

I *think* this is what his changes are using to do the normal mapping quickly:

Speaking of "free": FP16-NRM come free, often. NRM is an instruction (actually a macro) for normalizing a vector (that means, set the lenght of a vector to 1.) This is the one and only NV40-instruction where FP16 is faster than FP32. Even FX12 (a fixpoint-format for DirectX8-shaders) is not faster than FP32 anymore. For NV30 and NV35, FX12-calculations are way quicker than the same calculations with floating point precision.

Normalization calculations are often used while rendering bumpmaps. Previously, there where two ways to normalize: Either use a precalculated cubemap, or use a Dot operation followed by RSQ and MUL. It is a good thing NRM_PP ("PP" stands for "partial precision", i.e. FP16) is this fast, now. It would be better though if a full precision NRM would be this fast, too.