Jump to content
  • Advertisement
Sign in to follow this  

Difference between bump mapping and normal mapping

This topic is 3031 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

The idea is generally the same: adding extra lighting detail that doesn't exist in geometry. The main difference is the input data (texture).

Normal mapping takes a RGB texture, that makes up normals (ie, r=x, g=y, b=z), and is accessed directly by the pixel shader.

Bumpmapping takes a grey scale image, or 'Height Map', and the pixel shader computes the normals from that to calculate lighting.

The idea ispretty much the same, just shifting where the processing is getting done.
Normal mapping preprocces the data, usually making the output quicker, but uses more data to store the normal map (rgb).
Bump mapping is post processing, usually slower to output, but saves space storing bump maps (r).

Although, I find the 2 terms are interchanged often, I like to think of 'Normal Mapping' as the technical term, and 'Bump Mapping' as just the buzz word that designers use.

Share this post

Link to post
Share on other sites
Any technique that fakes a relief on flat geometry is called bump mapping. This includes everything from good old fashioned grayscale bumpmaps to normal maps and parallax maps.

With a greyscale bumpmap (actually a heightmap) you lookup the corresponding texel, calculate the normal at that point, and use it to perturb the surface normal.

With an RGB normal map you can basically skip the normal calculation step since it's already calculated.

So in a way normal maps are computationally cheaper, but more memory/bandwidth* expensive, as you have to fetch store three floats (RGB) instead of just one.

If you're doing parallax/relief mapping you need both the heightmap and the normal map to get both slopes and offsets.

* I guess you'd have to fetch the neighboring texels as well to calc the normals, so heightmaps are in fact more bandwidth expensive than RGB normal maps, or even RGBA parallax maps

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!