• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

Bump mapping in Doom 3

The Saint

Gawd
Joined
Mar 18, 2003
Messages
1,000
HI guys.........

just a quick question for you:
I'm at my parents' house and picked up Doom 3 yesterday.

My father's computer is an IDEQ Nforce 2 with a Barton 2500+ and a 256MB ATI 9600.

Loaded up Doom3 and everything is fine. Playing with 1024x768 on Medium Quality.
I don`t want to spoil me with the game so I'll wait some time and when I'll be back at my house will play it on my computer....anyhow....

where's the Bump Mapping? Am I missing something? I mean.., maybe its because I have the medium quality setting on, but I can't see any bump mapping, just the normal flat textures that every game has..................

tell me I am wrong because, at this point, I don`t know if I am content with Doom 3 .....
 
The Saint said:
HI guys.........

just a quick question for you:
I'm at my parents' house and picked up Doom 3 yesterday.

My father's computer is an IDEQ Nforce 2 with a Barton 2500+ and a 256MB ATI 9600.

Loaded up Doom3 and everything is fine. Playing with 1024x768 on Medium Quality.
I don`t want to spoil me with the game so I'll wait some time and when I'll be back at my house will play it on my computer....anyhow....

where's the Bump Mapping? Am I missing something? I mean.., maybe its because I have the medium quality setting on, but I can't see any bump mapping, just the normal flat textures that every game has..................

tell me I am wrong because, at this point, I don`t know if I am content with Doom 3 .....

In the "system" configuration part of the game, there is a button called "Advanced Settings." You can enable and disable Bump Mapping there. It should already come enabled. In medium quality the normal maps for the bump mapping are compressed so it dosent' look as good as high quality, which runs full uncompressed normal maps.
 
It is enabled already.....


just do something for me: go against a wall and look around (left and right) ....see what I mean?
 
Bump mapping is using flat textures that, when a light source is projected onto it, gives the illusion of bumps. So when you walk right up to a wall and look parallel from it you'll see it's just a flat texture, but look at it from a distance, and shine your flashlight on it it'll look like it's 3D or has bumps. FarCry and Halo also use bump mapping, and the upcoming Unreal 3 uses it to the extreme! So technically you're right, they are just flat textures.
 
BakedGoods said:
Bump mapping is using flat textures that, when a light source is projected onto it, gives the illusion of bumps. So when you walk right up to a wall and look parallel from it you'll see it's just a flat texture, but look at it from a distance, and shine your flashlight on it it'll look like it's 3D or has bumps. FarCry and Halo also use bump mapping, and the upcoming Unreal 3 uses it to the extreme! So technically you're right, they are just flat textures.

Unreal 3 actually uses a more advanced technology called displacement mapping. It uses normal maps and actually changes the geometry of the surface. This way mapped surfaces can cast shadows and look perfect up close.
 
jon_k said:
Unreal 3 actually uses a more advanced technology called displacement mapping. It uses normal maps and actually changes the geometry of the surface. This way mapped surfaces can cast shadows and look perfect up close.
Wow that's awesome. Unreal 3's mapping is insane! It's probably one of the few games which could take the graphics crown from Doom 3. But who knows, maybe Quake 4 has something up it's sleeve...
 
jon_k said:
Unreal 3 actually uses a more advanced technology called displacement mapping. It uses normal maps and actually changes the geometry of the surface. This way mapped surfaces can cast shadows and look perfect up close.

No it uses parrellex or off set displacment mapping where it still fools that eye by moving pixels. The models are still around 5-10k each there aren't enough polygons to do true displacments with them. Plus the fact if ya want to try it anyways you would looking at huge amounts of vram usage so its not possible right now till the 512 mb cards come out. Parrallex bump mapping is the next step up from normal mapping.
 
The Saint said:
It is enabled already.....


just do something for me: go against a wall and look around (left and right) ....see what I mean?

The bump mapping algo takes into concideration the angle of veiw and the angle of light. As any of these angles approaches 0 the bump mapping disappears.
 
I am running game in Ultra mode and they still look "flat" to me. I like Far Cry's implemenation a lot better, because they look more realistic.
 
rancor said:
No it uses parrellex or off set displacment mapping where it still fools that eye by moving pixels. The models are still around 5-10k each there aren't enough polygons to do true displacments with them. Plus the fact if ya want to try it anyways you would looking at huge amounts of vram usage so its not possible right now till the 512 mb cards come out. Parrallex bump mapping is the next step up from normal mapping.

Call it whatever you want, but it does use normal mapping - this was said in an e3 tech video by epic. Normal mapping will actually treat the resulting detail like actualy world geometry - mainly meaning that it will cast shadows. You can see this in the demo video where the thin cement rivits in brick walls have shadows casted on them and such.
 
jon_k said:
Call it whatever you want, but it does use normal mapping - this was said in an e3 tech video by epic. Normal mapping will actually treat the resulting detail like actualy world geometry - mainly meaning that it will cast shadows. You can see this in the demo video where the thin cement rivits in brick walls have shadows casted on them and such.

Look there is no engine in the world that can do true displacement yet. I know this, The compnay I'm working for is working on true displacment. Unreal 3 doesn't have it, only its wildest dreams if they make thier engine 3 times faster can they even use it on this generation of cards.

Normal maps don't cast shadows. It darkens texture areas via pixel shaders depending on the normal of the verticies. As does Parrellex, but Parrellex mapping takes into the account the parrallex of the veiw, giving the impression that the polygons are there even when the angle of incidence approachs 0.
 
Well le me put it in another terms lol, pretty much the parrellex is what screws up normal mapping when the camera angle to the polygon with the normal map gets closer to 0. Off set displacment mapping (parrellex mapping) takes this into account so in truth its the closest thing out there to true displacements.

What happens with true displacments is that for every vertices in a mesh takes up 8 bits of ram. So more polys ya have the rmore vertieces you have. The more vertices ya have the more vram thats taken up. For animated characters its even worse. Since they have to be sent through the agp port at every single frame, meshes with more then 15k polys will clog up your agp or pci e port. To get around this next generation engines will use camara dependent adaptive tesselation with displacement. In essense its LOD of a tessalted mesh (tesselated meshes start off at the low poly mesh but polys are broken into smaller polygons on the gpu before its displaced and rendered)

The only current technology that supports this is the 6800 since it can do it all in one pass via a texture lookup in a vertex shader. Here is the catch that texture look up in a vertex shader hits hard with a 20% performance drop. The other catch is with a 256x256 displacement map and tessalation it will effectively take up 32mb for vram.
 
rancor said:
Look there is no engine in the world that can do true displacement yet. I know this, The compnay I'm working for is working on true displacment. Unreal 3 doesn't have it, only its wildest dreams if they make thier engine 3 times faster can they even use it on this generation of cards.

Normal maps don't cast shadows. It darkens texture areas via pixel shaders depending on the normal of the verticies. As does Parrellex, but Parrellex mapping takes into the account the parrallex of the veiw, giving the impression that the polygons are there even when the angle of incidence approachs 0.

Man, I'm telling you they can. Epic has a co-op at my school and I've talked with them, and in the demo, it isn't just "darkened pixels." It is doing real-time dynamic shadow casting off of displacement mapped surfaces. And BTW the Matrox Parahelia was the first card that supported true displacment so the tech has been around for a while. There is an Unreal3 demo video out there, and you shuld watch it. It is doing true displacement. What company do you work for BTW.
 
Look at these screenshots from the Unreal3 engine rendered in realtime off of a GeForce 6800 Ultra and tell me this isn't displacement mapping.

http://www.unrealtechnology.com/screens/p_bezerker.jpg - look at his nostrils, there are shadows being cast in them.

http://www.unrealtechnology.com/screens/p_embry1.jpg


Also, copied straight from the Unreal Technology website

http://www.unrealtechnology.com/flash/technology/ue30.shtml

"Support for all modern per-pixel lighting and rendering techniques including normal mapped, parameterized Phong lighting; virtual displacement mapping; light attenuation functions; pre-computed shadow masks; and pre-computed bump-granularity self-shadowing using spherical harmonic maps."
 
hehe right from your own links, what do you think virtual displacment mapping is? that parrallex mapping, offset displacment mapping, off set bump mapping. There are alot of names for it but its the same thing. Thats why they called it virtual, its not true.

parameterized Phong lighting is normal mapping

light attenuation functions is light mapping, every engine has this.

pre-computed shadow masks is used in just about all engine starting from quake 2, shadow maps.

pre-computed bump-granularity self-shadowing using spherical harmonic maps, simply put bluring the shadows of an object onto itself then using the light map to create diffuse areas in the shadow to create more depth. Crytek uses this too.
 
If it was parallex mapping, then they would of called it parallex mapping. I could write up a page long post about how virtual displacement mapping means the same as displacement mapping, but it is retarted. Just look at the screenshots. Parallex mapping can't do that stuff. Also download the freaken demo, in it the Epic peeps say out of their own mouth that it is displacement mapping and they give engine demonstrations as to why it is.
 
Jon do you really want me to show you tech docs on it? just search google. you will see what I mean. I've done shaders for everything single type of bump mapping around, I know the difference just by looking at thier screenshots what they are using! Take alook at thier character screenshots and look at the polygon angles. If it was true displacment there would be no angles, specifically on the shoulders of the creatures.
 
rancor said:
Jon do you really want me to show you tech docs on it? just search google. you will see what I mean. I've done shaders for everything single type of bump mapping around, I know the difference just by looking at thier screenshots what they are using! Take alook at thier character screenshots and look at the polygon angles. If it was true displacment there would be no angles, specifically on the shoulders of the creatures.

I don't really see any angles on it, but then again my eye isn't trained as I dont' work with that stuff every day. It's just if an epic peep tells me that they are doing disp. mapping I tend to believe them. By all means, show me some tech documents and screen shots of true displacement mapping, I like to read stuff and be educated. Maybe I will email epic and ask them if it it "true displacement mapping" or "parallex mapping."
 
http://www.driverheaven.net/reviews/X800XTdhreview/highdefinationgaming.htm

Just for your information

"Virtual Displacement Mapping

Also known as “parallax mapping”, this effect is actually an enhanced version of normal mapping. It can produce a stunningly real three-dimensional appearance on flat surfaces, without the intensive tessellation computations and extreme polygon counts required for true displacement mapping. In addition to a base texture, it requires a corresponding normal map and height map to work. With SMARTSHADER HD, performance of this technique is similar to that of standard normal mapping.

For an even more realistic effect, Virtual Displacement Mapping can be combined with horizon mapping to capture self-shadowing effects. It also works nicely with 3Dc, which can compress the normal maps and allow more detailed ones to be used."
 
rancor said:
http://www.driverheaven.net/reviews/X800XTdhreview/highdefinationgaming.htm

Just for your information

"Virtual Displacement Mapping

Also known as “parallax mapping”, this effect is actually an enhanced version of normal mapping. It can produce a stunningly real three-dimensional appearance on flat surfaces, without the intensive tessellation computations and extreme polygon counts required for true displacement mapping. In addition to a base texture, it requires a corresponding normal map and height map to work. With SMARTSHADER HD, performance of this technique is similar to that of standard normal mapping.

For an even more realistic effect, Virtual Displacement Mapping can be combined with horizon mapping to capture self-shadowing effects. It also works nicely with 3Dc, which can compress the normal maps and allow more detailed ones to be used."

Well, thanks for raining on my Unreal3 parade!!! :mad: :mad:

j/k lol
 
lol I thought it was true displacment when they first showed it at e3, took me a while to figure out how they did it. Wish I could get new graphics cards as fast as Epic does lol.
 
Here's a question, how exactly does parallax mapping work without creating true geometry? And why would true (very high poly) displacement mapping be desired over parallax?
 
This is regular bump mapping.

"The concept of tangent space is probably the most important piece of background
information required to understand parallax mapping. Tangent space is a coordinate system that is oriented relative to a given surface. It is defined by three axes, the tangent,
binormal, and normal. The tangent and binormal lie in the plane of the surface, while the
normal is perpendicular to the plane of the surface. If a surface is curved, then tangent
space rotates as you move along that surface.
To apply bump mapping [1] with a normal map, it is necessary to compute the dot product
of a vector pointing toward the light with a normal for each pixel. Because the normal map
is mapped to the surface, it already lies flat in tangent space. To compute the necessary dot products, the light vectors must lie in the same coordinate system, so they are transformed into tangent space as well. Parallax mapping uses the concept of tangent space in the same manner."

This is from a document a friend wrote.



"Since any parallax effect depends on point of view, a vector from a point on the surface to
the eye is required. The original texture coordinate and height values are already
represented in tangent space, so the eye vector must be as well. The eye vector can be
created in global coordinates by subtracting a surface position from the eye position and
transforming the resulting vector into tangent space. An application programmer must
supply a tangent, binormal, and normal at each vertex. These can be used to create a
rotation matrix at every point on the surface which will transform vectors from the global
coordinate system to tangent space.

To compute a texture coordinate offset at a point P, the eye vector must first be normalized
to produce a normalized eye vector V. The height h at the original texture coordinate To is
read from the height map. The height is scaled by a scale factor s and biased by a bias b in
order to map the height from the range {0.0, 1.0} to a range that better represents the" more things from the doc


What Parralex bump mapping does extra is it off sets the pixel cooridates, It moves the pixels around on the screen to get a better bumpping effect depending on camera angle.

This is very fast to do.

True displacment on the other hand require

a) texture lookups in a vertex shader: -20% performance with more polys on the screen increases light calculations too ends up around -50% drop anyhow
b) or two passes: -50% in performance plus the increased light caclulations ends up around 80% loss
 
I think I saw somewhere that with parallax mapping it still has some problems if you are very close to the object looking parallell to it. Ex. You have a brick wall using parallax mapping to create the bumps, if you stand beside the wall and look down the length of it, it will appear flat.
 
yes it still does, but unlike normal mapping, you have to be exactly in line with the wall to see that its flat.
 
I dont understand why you would want displacement mapping over this cheap pixel operation but alright. (/me hopes carmack throws in the ability through a point release)

Hey rancor, btw could you recommend a good opengl book? My university has the redbook and it sucks. I'll be reading it next summer, so if you know a good publisher ill pickup their opengl 2.0 book when they make it.
 
OK guys, great posts and great discussion!
Thanks for the explanation on the bump mapping and all the other flavors of it.
Those Unreal 3 screenshot are incredible!

In conclusion, I have to say that I am a little disappointed with Doom3 textures.
I'm with Cannibal Corpse in saying that Far Cry implementation of them looks a lot better.


But thats just me...
 
Lord of Shadows said:
I dont understand why you would want displacement mapping over this cheap pixel operation but alright. (/me hopes carmack throws in the ability through a point release)

Hey rancor, btw could you recommend a good opengl book? My university has the redbook and it sucks. I'll be reading it next summer, so if you know a good publisher ill pickup their opengl 2.0 book when they make it.


Are ya looking for game programming or shader developement or application development?

general 3d engine programming I would say the best books out there are learning by yourself lol. Just api usuage and things like that,

here these guys are the best right now.

clicky

Well true displacment does look the best, can't replace polygons with bump mapping hehe :)
 
The Saint said:
OK guys, great posts and great discussion!
Thanks for the explanation on the bump mapping and all the other flavors of it.
Those Unreal 3 screenshot are incredible!

In conclusion, I have to say that I am a little disappointed with Doom3 textures.
I'm with Cannibal Corpse in saying that Far Cry implementation of them looks a lot better.


But thats just me...


No problem Saint.
 
The Saint said:
OK guys, great posts and great discussion!
Thanks for the explanation on the bump mapping and all the other flavors of it.
Those Unreal 3 screenshot are incredible!

In conclusion, I have to say that I am a little disappointed with Doom3 textures.
I'm with Cannibal Corpse in saying that Far Cry implementation of them looks a lot better.


But thats just me...

I sort of agree, but I'll withhold my judgment until I get my real deal 6800 GT card. It may look better with that. Still you have to admit, Doom III is one hell of a game.
 
jon_k said:
Unreal 3 actually uses a more advanced technology called displacement mapping. It uses normal maps and actually changes the geometry of the surface. This way mapped surfaces can cast shadows and look perfect up close.

halflife2 has displacement mapping.
 
Displacement mapping in Half life 2 was used for terrain, just about any engine that does out doors uses that :) but using it on characters and objects is a different story.

Terrain is usually rendered with Triangle strips or Fans which is easier for hardware to handle with displacment. But for characters and prefabs usually rendered with Nurb groups, displacment doesn't like nurbs :)
 
rancor said:
Displacement mapping in Half life 2 was used for terrain, just about any engine that does out doors uses that :) but using it on characters and objects is a different story.

Terrain is usually rendered with Triangle strips or Fans which is easier for hardware to handle with displacment. But for characters and prefabs usually rendered with Nurb groups, displacment doesn't like nurbs :)

well actually the displacement mapping can be used on ANY bsp surface, so its much more flexible than just creating a terrain map. but why would you want displacement maps on a character? to simluate acne?
 
I haven't read this whole thread, but there seems to be some mis understandings, I will clear it up:

DOOM 3 = Bump Mapping and Normal Mapping, there isn't one texture in DOOM 3 that doesn't use Normal Mapping, this is a FIRST for a game, to use Normal Mapping to this extreme.

Unreal Engine 3 demo = Parrallax/Offset Mapping, which is better than regular Bump Mapping, BUT, it is NOT Displacement Mapping. Some people call it Virtual Displacement Mapping, but I don't like that term because it has nothing to do with Displacement Mapping. The real term is Parrallax or Offset Mapping. The geometry is NOT being displaced.

There isn't any game or game engine out there right now that uses Displacement Mapping.

And them are the facts folks.
 
true.

Well things like wrinkles, or musculature. Acne would be nice if ya had a pizza face guy in a game :D . Pretty much anything being done by bump mapping now :)
 
Brent_Justice said:
I haven't read this whole thread, but there seems to be some mis understandings, I will clear it up:

DOOM 3 = Bump Mapping and Normal Mapping, there isn't one texture in DOOM 3 that doesn't use Normal Mapping, this is a FIRST for a game, to use Normal Mapping to this extreme.

Unreal Engine 3 demo = Parrallax/Offset Mapping, which is better than regular Bump Mapping, BUT, it is NOT Displacement Mapping. Some people call it Virtual Displacement Mapping, but I don't like that term because it has nothing to do with Displacement Mapping. The real term is Parrallax or Offset Mapping. The geometry is NOT being displaced.

There isn't any game or game engine out there right now that uses Displacement Mapping.

And them are the facts folks.

Thanks for clearing that up. Even though in some places FarCry is a tad better looking, I just couldn't put my finger on it that Doom was just a better looking game. That is it - every thing is bump mapped in Doom III.
 
Brent_Justice said:
I haven't read this whole thread, but there seems to be some mis understandings, I will clear it up:

DOOM 3 = Bump Mapping and Normal Mapping, there isn't one texture in DOOM 3 that doesn't use Normal Mapping, this is a FIRST for a game, to use Normal Mapping to this extreme.

Unreal Engine 3 demo = Parrallax/Offset Mapping, which is better than regular Bump Mapping, BUT, it is NOT Displacement Mapping. Some people call it Virtual Displacement Mapping, but I don't like that term because it has nothing to do with Displacement Mapping. The real term is Parrallax or Offset Mapping. The geometry is NOT being displaced.

There isn't any game or game engine out there right now that uses Displacement Mapping.

And them are the facts folks.

from http://pc.ign.com/articles/403/403369p1.html

Gabe then left the new character models for the great outdoors, where he showed off the displacement map technology. All surfaces, natural and man-made, have a displacement map. This means that they can be deformed, shaped and altered on the fly.

oh but no one trusts valve anyway.

but regardless, i can select any BSP surface in the editor and make bumps on it as if it was a terrain map, now what do you call that?
 
Back
Top