Welcome, Unregistered.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Reply
Old 16-Aug-2004, 13:00   #1
Squeak
Senior Member
 
Join Date: Jul 2002
Location: Denmark
Posts: 1,195
Default Doom 3 normal mapping, object or tangent?

Does Doom 3 use object or tangent space normal mapping, or a combination of both?
Before I updated ATI drivers, there was this noticable seam down the middle of all characters. The most likely reason for that AFAICS, is that the game uses object space normal maps, where the normals are flipped for rendering both sides of the model. I've also searched some old threads on B3D that talks about Doom 3 using OSNM.
Then comes the part that puzzels me, doesn't OSNM normally only work on static geometry, that is non-deformable models? Is there some workaround for this (for example not using it at skinned joints) or did id use tangent space normal mapping?
Squeak is offline   Reply With Quote
Old 16-Aug-2004, 13:32   #2
Simon F
Tea maker
 
Join Date: Feb 2002
Location: In the Island of Sodor, where the steam trains lie
Posts: 4,382
Default Re: Doom 3 normal mapping, object or tangent?

Quote:
Originally Posted by Squeak
Then comes the part that puzzels me, doesn't OSNM normally only work on static geometry, that is non-deformable models?
I can't see why it shouldn't work. With the object-space normal models, you have an implicit coordinate system (whereas with the tangent space system, you have to supply explicit vectors on each vertex).

It seems to me that you can just as easily "warp" the light direction with the skinning matrices (I think).
__________________
"Your work is both good and original. Unfortunately the part that is good is not original and the part that is original is not good." -(attributed to) Samuel Johnson

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." Alan Kay
Simon F is offline   Reply With Quote
Old 16-Aug-2004, 17:28   #3
Richard
Mord's imaginary friend
 
Join Date: Jan 2004
Location: PT, EU
Posts: 3,506
Default

IIRC D3 using tangent space normal maps.
Richard is offline   Reply With Quote
Old 16-Aug-2004, 18:23   #4
Cryect
Member
 
Join Date: Jul 2004
Posts: 673
Default

Looking at the normal maps it does look like its tangental based instead of object based.
Cryect is offline   Reply With Quote
Old 16-Aug-2004, 18:44   #5
SteveHill
Junior Member
 
Join Date: Nov 2003
Posts: 61
Default Re: Doom 3 normal mapping, object or tangent?

Quote:
Originally Posted by Simon F
It seems to me that you can just as easily "warp" the light direction with the skinning matrices (I think).
Yup, as was recently discussed in the gdalgorithms mailing list: "Normal map building process" (plus also a while ago in another thread).
SteveHill is offline   Reply With Quote
Old 16-Aug-2004, 20:26   #6
Dave B(TotalVR)
Member
 
Join Date: Feb 2002
Location: Essex, UK (not far from IMGTEC:)
Posts: 491
Send a message via ICQ to Dave B(TotalVR)
Default

And the difference is!!!
__________________
The world is over and I realised it was all in my head...
Webmaster at TotalVR
Dave B(TotalVR) is offline   Reply With Quote
Old 16-Aug-2004, 20:34   #7
Squeak
Senior Member
 
Join Date: Jul 2002
Location: Denmark
Posts: 1,195
Default Re: Doom 3 normal mapping, object or tangent?

Quote:
Originally Posted by Simon F
It seems to me that you can just as easily "warp" the light direction with the skinning matrices (I think).
Ooh, Of course! But if you can do that, why ever use TSNM?
Squeak is offline   Reply With Quote
Old 16-Aug-2004, 22:03   #8
Chalnoth
 
Join Date: May 2002
Location: New York, NY
Posts: 12,678
Default

Because, I believe, object-space normal mapping requires more calculations to be done before rendering. And, of course, it's easier to warp geometry. While I'm sure you can do it with object-space normal mapping, you would still have to update the entire map every time you modify the geometry.
Chalnoth is offline   Reply With Quote
Old 16-Aug-2004, 22:04   #9
Scali
Naughty Boy!
 
Join Date: Nov 2003
Posts: 2,127
Send a message via ICQ to Scali Send a message via MSN to Scali
Default

Quote:
Ooh, Of course! But if you can do that, why ever use TSNM?
Well, one thing I could think of is that tangentspace maps would lend themselves better for compression since in general the normals are facing mostly in the same direction. Also, tangentspace allows you to derive bumpmaps from heightmaps without taking geometry into account, which is probably an advantage to artists (for example, applying standard noise bumpmaps or metal plate textures or such).
Scali is offline   Reply With Quote
Old 16-Aug-2004, 22:07   #10
Scali
Naughty Boy!
 
Join Date: Nov 2003
Posts: 2,127
Send a message via ICQ to Scali Send a message via MSN to Scali
Default

Quote:
Because, I believe, object-space normal mapping requires more calculations to be done before rendering
On static geometry, object-space normalmapping requires less calculations, since you can use object-space light vectors directly, for all triangles.
On dynamic geometry, you have to find the transform from the old object space to the new object space, which I suppose can be done in pretty much the same way as tangent-space.
Scali is offline   Reply With Quote
Old 17-Aug-2004, 08:50   #11
Simon F
Tea maker
 
Join Date: Feb 2002
Location: In the Island of Sodor, where the steam trains lie
Posts: 4,382
Default Re: Doom 3 normal mapping, object or tangent?

Quote:
Originally Posted by Squeak
Quote:
Originally Posted by Simon F
It seems to me that you can just as easily "warp" the light direction with the skinning matrices (I think).
Ooh, Of course! But if you can do that, why ever use TSNM?
Because (AFAICS) with TSNM you can re-use the same texture over and over in different places on different models, while for the object space technique, each texel is effectively tied to a particular small area of a particular model.
__________________
"Your work is both good and original. Unfortunately the part that is good is not original and the part that is original is not good." -(attributed to) Samuel Johnson

"I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." Alan Kay
Simon F is offline   Reply With Quote
Old 17-Aug-2004, 11:56   #12
radar1200gs
Guest
 
Join Date: Nov 2002
Posts: 900
Default

I don't know for certain if normal maps are stored in tangent space, but I'm guessing they are because of this carmack quote:

http://www.beyond3d.com/interviews/carmack04/
Quote:
CPU skinning, shadow generation, and tangent space reconstruction are the parts of Doom that take up significant time in timedemos, but there is a lot of driver overhead as well.
If part of your world is known to exist in tangent space it's a reasonable assumption that the rest would be stored in tangent space also where possible to simplify processing.
radar1200gs is offline   Reply With Quote
Old 17-Aug-2004, 15:32   #13
Colourless
Monochrome wench
 
Join Date: Feb 2002
Location: Somewhere in outback South Australia
Posts: 1,255
Send a message via ICQ to Colourless Send a message via MSN to Colourless
Default

If they are using the DXT5 2 component compression trick, they are using tangent space normals
__________________
-Colourless

D3D FSAA Viewer 5.4
Words by Cat - Truely Intelligent Viewing
Colourless is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
3dfx Rampage ;) Ante P 3D Architectures & Chips 219 26-Feb-2012 19:48
bump mapping, normal mapping, offset mapping, and.... PowerK 3D Architectures & Chips 30 19-Jun-2004 11:27
HL2/Source, and Radiosity Normal Mapping demalion 3D Architectures & Chips 7 01-Apr-2004 09:13
Carmack's comments on NV30 vs R300, DOOM developments boobs 3D Architectures & Chips 332 15-Feb-2003 18:21
Difference between Bumpmapping and Normal mapping? Wanderer 3D Architectures & Chips 10 29-Nov-2002 14:12


All times are GMT +1. The time now is 21:01.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.