Ingmar Franz (duerer)

1 answer · asked · Lesson: Height Maps Vs. Normal Maps · Course: Normal Map Modeling for Games

"Height Maps", "Displacement Maps", "Normal Maps" and "Bump Maps"

I'm trying to give a short overview over the different maps/textures that may look similar but are created either for manipulating the face normals or moving mesh vertices to a different place:


1) "Bump Maps" consist of different grey values and are used for manipulating the surface normals. The differences in brightness between two adjacent areas of different grey values are taken into account in order to calculate the new normals so that a uniformely grey texture with just one single grey value doesn't change anything no matter how bright this shade of grey is.

2) The "Normal Maps" on the other hand are directly coding the directions of the new surface normals within the R, G and B channel. There're different mappings for the different 3D programs defining which axis and also which direction of that axis is linked to which color channel. For Blender it's: X+ to Red, Y+ to Green and Z+ to Blue.
An overview for the mapping in other 3D programs can be found here at the end of this page.


1) "Height maps" are used for manipulating the mesh vertices. A certain grey value or the white or the black extreme can be defined as zero displacement value.

2) "Vector Displacement Maps" use the colors red, green and blue for coding, into which direction the vertices of a mesh shall be moved.  With this technique, you can transform a mesh primitive into very complex forms depending on how often it has been subdivided. I've described this technique here and added such a map that I've baken in Blender with a workaround.