Jump to content

bump, displace or normal map?


stayinwonderland
 Share

Recommended Posts

Bump maps do not affect surface normals, normal maps (and displace maps) affect surface normals. Bump mapped objects only appear to have depth, but the object's outline does not change. Normal and displace maps change the outline of the object. So, for instance, you'd see the normal or displace maps in the shadow the object casts. Bump maps, you would not.

 

Normal maps are extremely powerful, but take a little to understand. I'd keep it simple and stick with bump or displace as both work from black and white.

 

A general rule of thumb is that, if it's an object far away or a simple surface detail, I'd stick with bump. If it's stone or an object in close frame, I'd go with displace.

 

Good ole Wikipedia to the rescue! http://en.wikipedia.org/wiki/Bump_mapping

Link to comment
Share on other sites

OK there has been a common HUGE misunderstanding in the 3D artist community (A side note: In real-time rendering , Bump map actually refers to normal map. In the graphics research community, normal map is viewed as a specific implementation of the bump mapping algorithm)

 

First, depending on the implementation of bump mapping, bump mapping and normal mapping give very similar or mathematically identical result.

 

Many people believe bump map does not change the normal or only modify it slightly. Well this is not really true. Bump mapping actually produces a new normal that will be used for shading. Not only you get bumpy effect for diffuse shading, but also for reflective and specular shading as well, this is a proof that the normal is ACTUALLY changed to a new one. The renderer derive the new normal using the height information from the bump map.

 

In normal map, the derivation of the new normal is pre-calculated and the result is store directly in the normal map. Hence the renderer just reads off the new normal vector value from the normal map and use it directly.

 

Bump map requires less memory storage, but slower to process (since the renderer has to derive the new normal vector itself). This is why normal map is used in real-time rendering to save processing time.

 

Both bump map and normal map cannot change the silhouette of the geometry.

 

Displacement is an exact method. giving you real geometry with real silhouette, real shading, real occlusion, self shadowing.

Link to comment
Share on other sites

I like normal for almost everything because it's easy and fast to make and it works no matter how diffuse the light is, whereas a bump map will look good in sun but flat in shadow. I use the free ndo plugin for ps, and it's WAY better than the nvidia plugin. Ndo has a new version, and it looks good but costs $, so you might want to check Crazybump or other if you get to that point. For my use, the ndo freebie version is great. I use displace rarely, as it takes a much longer time to render, and uses tons of memory -sometimes it's the only way to go, but it's a last resort for me.

Link to comment
Share on other sites

Thanks for those leads. The nDo site is down so I used crazy bump but it had a very odd effect. Check out the comparison.

 

First - no bump at all (just some extrusions):

 

[ATTACH=CONFIG]47274[/ATTACH]

 

Then the normal map applied. Just seems to looks slightly more purple with no noticeable bumps:

 

[ATTACH=CONFIG]47273[/ATTACH]

 

The fact that it changed colour is weird!? Any advice? (I used vrayNormalMap in the bump slot and put it up to 100, used the export from crazy bump - note that in the preview in crazy bump it looked fine).

 

Thanks!

Link to comment
Share on other sites

Since a normal map stores normal perturbation data on a per pixel basis a normal bases solution should be capable of precise, fine grained, sharp detail. Because a bump map stores only height, it has to calculate normal perturbation based on a sample wider than one pixel; this should inherrently limit the sharpness and high frequency content of a bump map as opposed to a normal map.

 

It seems to me that a normal map generated from a bump map could have the same spatial limitations as the original bump map as it would be merely an encoding of the weaker results.

 

Have to figure that some kind of contrast aware algorithm could be applied to bump map evaluation but I don't know if anybody has bothered.

Link to comment
Share on other sites

Since a normal map stores normal perturbation data on a per pixel basis a normal bases solution should be capable of precise, fine grained, sharp detail. Because a bump map stores only height, it has to calculate normal perturbation based on a sample wider than one pixel; this should inherrently limit the sharpness and high frequency content of a bump map as opposed to a normal map.

 

It seems to me that a normal map generated from a bump map could have the same spatial limitations as the original bump map as it would be merely an encoding of the weaker results.

 

Have to figure that some kind of contrast aware algorithm could be applied to bump map evaluation but I don't know if anybody has bothered.

 

Yeah, this is pretty spot on. Normal maps are extremely powerful if you've calculated them from existing geometry or very good black and white bump maps.

 

Make sure your normal map is also in the correct space. If I recall, at least the max normal map, has spaces like screen/tangent/etc. Each of these affect how your normal is viewed.

 

Are you running your normal map in conjunction with a height map? In many game engines, it's the height map that determines how far to push the normal out. Without it, the normal doesn't function very well.

Link to comment
Share on other sites

  • 8 months later...

^Interesting. So really you'd want to bake the normal map out of your 3d software for it to have much point, otherwise you're basically just converting your bump map to pretty purple colours?

Say, for flooring planks. Currently as a bump I have a jpeg with a bunch of white lines on a grey background. Not much point in converting this to a normal map with a PS plugin?

Link to comment
Share on other sites

^Interesting. So really you'd want to bake the normal map out of your 3d software for it to have much point, otherwise you're basically just converting your bump map to pretty purple colors?

Say, for flooring planks. Currently as a bump I have a jpeg with a bunch of white lines on a grey background. Not much point in converting this to a normal map with a PS plugin?

 

What it is missing here is normal maps have a 3 dimensional information whereas regular B/W bump map only height, from wikipedia "By using a 3-channel bitmap textured across the model, more detailed normal vector information can be encoded. Each channel in the bitmap corresponds to a spatial dimension (X, Y and Z)"

So if you tilt your camera in pointing a flat surface your'll still see bump effect whereas if you are using a regular B/W map, it also react to the lights creating a more strong effects.

With this in mind, yes you'll get a better result creating a Normal map from an actual 3D object, because the software has the X,Y,Z info of each polygon, now 2D plug ins do a good job approximating this information, but you need to use an full color image as reference, not a B/W.

If your mesh gets a strange shading, this is because of the orientation of your X,Y,Z coordinates, you can flip your coordinates in the shader to align with your software, then you should get a good bump effect.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...