Doom3 with Relief Mapping

Just modified Doom3 shader (interaction.vfp file) to use Relief Mapping. You can check out the results in the following video:

Doom3 with Relief Mapping Video

As the game does not include depth maps I also created a tool to process all game normal maps and generate the apropriate depth maps. I store the depth maps in specular map alpha channel (as normal map blue and alpha channels are useless with the DXT5 compression where X and W components are wapped and Z recalculated).

It works great at many places but will break at some gemetry where the polygon edges do not have depth zero. If depth maps wore manualy created this could be fixed but my tool is automatic and game normal maps wore not created for this type effect. Anyway it is a nice mod and intresting art to test my Relief Mapping shader idea.

And yes it does run real-time and you can play the game with all geometry using Relief Mapping. Get around 50 fps here in my P4 HT 2.5 with AGP 4X and geForce6800GT.

It could be more optimized as relief mapping changes only per view. For now it is calculated for every light (relief is recalculated many times per view, once per light). Could be done once per frame and have all lights share the same relief calculations stored in a texture for example (deffered shading). But this is not possible with current Doom3 render pipeline.


Awesome work, again!

Nice test ! :slight_smile:

Wow…do you have a patch or something :stuck_out_tongue: id love to see it in action.

Unbelievable…when i first saw it i expected tonnes of artifacts, like with the parrallax mod.


That is so awsomely amazing I just had to register and tell you this:

That is so awsomely amazing.

Argg… stop stop! you are making the rest of us look bad!

Really REALLY cool demo…

any chance of a few screenshots? (for those of us with dialup)

Extremely awesome!

I’m also surprised that it runs 50 fps on a GeForce 6800 GT. Looks really practical and robust. I can hardly wait to see how it actually matches up with Doom 3 environment and thus the coming G70/R520-gen PC games.

Anyway, when is the public release of the MOD? :slight_smile:

:eek: wow That’s great man! I once modified the interaction.vfp to add parallax mapping, but this is just another league!
Can’t wait to try it!!!
Is there a way this will work on a R9800?

Hi again… thanks for the complements and yes I have some images and the mod here:

Doom3 with Relief Mapping mod and screenshots

Use htm files to view the screenshots and move mouse in/out image to switch from original and relief versions. And make sure to READ the README file… important instrictions there… 50fps at 640x480 resolution :rolleyes: .

In video I just got the places where I found to look better anyway. Expect to see bad areas where depth at polygon edges is not zero (white). It can be fixed by editing the depth maps manually but will be too tedious (too many maps).

Need to find a way to store depth in normal map (disable the x-w swap or normal map compression). Would be much better and more efficient to have the depth in blue or alpha normal map channel. Anyone knows how to do it?

Tried following cfg file options but seams nothing changes with them. Anyone knows specifics on the following parameters:

seta image_usePrecompressedTextures “0”
seta image_useNormalCompression “0”
seta image_useAllFormats “1”
seta image_useCompression “0”

this technique (and its kin) is the biggest graphic advancement of the year. up there with shadowmapping/bumpmapping
how well does it handle the stencilshadows (shadowmaps) in the first screenshot, various things look brighter for some reason

There is a blinking light there in the background and between the two screenshots I got it on/off by mistake… forget about that.

One nice things I want to try is outputing depth correct values (write to OUT.depth in shader). This makes shadow boundaries follow the relief nicely allowing correct shadows over the displaced geometry.


Awesome work! On GF 6800 Ultra it is playable even on 1280x1024. This is excellent…


Hi Dude!

When I drag and drop pak004.pk4 onto normal2depth.exe nothing happens. The app runs but creates no output ?

What am I doing wrong :slight_smile:

I believe this drag&drop technique only works on 2000/xp, so you must be using 98/95/ME! Ugh!

Originally posted by knackered:
I believe this drag&drop technique only works on 2000/xp, so you must be using 98/95/ME! Ugh!
I’m using XP SP2…

Hi pocketmoon… you can use the command line option. Open a command promt and go to the tool folder. Then type:

normal2depth.exe c:\doom3\base\pak004.pk4

After processing all normal maps you should see all specular maps including depth in alpha channel at c:\doom3\base extures\

But game must be in ultra-quality mode so you can see the relief mapping at work. It can be done for the high-quality mode but then we should process the dds files and not the tga ones… maybe for the future… should run faster at high-quality I gess.

It does not work for me. When i load a map i can see
black screen, i can see only the flashlight.
My configuration is:

Doom3 1.3 + ROE
Win XP sp2

Asus GeForce 6800GT (Forceware 71.84), P4 2.8Ghz, 1Gb DDR400; No overclock!

i did all the steps in the readme file carefully


[Totally Offtopic]
Anyone can see what Master FPO :smiley: looks like if they flip on the contributors page in GPU GEMS, I know I did :stuck_out_tongue:
[/Totally Offtopic]

I Have the same problem as Mr Pink

Do we think it’s a 1.3 patch issue

I have two 6800gt SLi Configuration though i can’t see how that would make a difference.

Mod looks soo GOOD i just wanna try it out on me system and see how playable it is lets try and find a solution PLEASE!! :confused:

Cheers :wink: