Difference between bump map and normal map

1. Does normal map contains height information? Because it stores x,y,z axis information, but is the z axis equals to height information? But some comments I saw said that normal map does not contain height information, then what the z axis is representing?

2. Why does bump map is ‘directionless’? From my perspective, they store the height information in black and white. With that information, how does the direction of the bumps cannot be retrieved? I tried to create a simple bump map example to show what I am trying to ask. The below bump map only has a white rectangle, so the white will be pulled outwards and the black will be push downwards. But isn’t that we can already know the direction by the white and black data? Such as the direction that I marked with green arrows, which shows the 5 direction of the faces for the rectangle (1 top face and 4 side faces).

1. Many people claims that normal map and bump map are nearly same, but the below normal map and bump map has quite a high amount of differences, so how are they nearly the same when there could be so much differences between them?

I know the difference between bump map and normal map are probably asked and answered by many times, but I don’t really find any answers that could answer the questions that I have asked above. I sincerely feel sorry if there are repetitive question asked.

Below are some articles and sites I have searched, but I feel like there are conflicts between them so I wanted to make the concept clear. https://www.pluralsight.com/blog/film-games/bump-normal-and-displacement-maps https://forums.cgsociety.org/t/normal-vs-bump-always-better-to-use-normal/1410917/52 https://blender.stackexchange.com/questions/ask

Thank You So Much For Helping

• Perhaps related: blender.stackexchange.com/a/176717 May 7, 2020 at 14:59
• Related but not thoroughly explained Bump Maps vs Normal Maps May 7, 2020 at 15:03
• You won't have any height info with normal maps because what normal maps record is the inclination of a normal compared to the face that bakes... for example if the face that bakes is fully frontal to the normal of the face to bake, it will stay blue, whatever the height of the face May 7, 2020 at 15:28

This has nothing to do with blender, but could be useful anyway.

The normal map contains pixels with vectors. Each pixel has a vector, where is that pixel pointing. In the standard light blue purple color, it is pointing straight out from the surface. As the color changes, it points in different directions.

A heigh map (or bump map) has a height value stored as a value between black (lowest) and white (highest).

The bump maps in your post doesn't look like it will produce roof tiles when projected on a flat surface.

They describe about the same information, in different ways.

Looking at a single pixel in a normal map, it is impossible to say what height it is. Just the way the surface is tilted (direction and amount). But if you look at more pixels surrounding it, you can build up a relative height. If you stand on a slope, you can see that, up the slope, the ground is higher.

Looking at a single pixel in a height map, it is impossible to say what slope it is. But you know exactly how high you are. But by looking at your neighbours, you can work out a slope.

To work with a normal map in a material in blender, you have to run it through a Normal map node. This also have a strength value, to determine the scale of the bumps.

EDIT: To me it looks like your bump map isn't meant to be put on a flat plane. It looks like baked normals for a lowpoly model of roof tiles. I don't know where you got these maps.

The normal map you have, that will give roof tiles when mapped onto a flat plane. Not very good ones if you get close. But from a distance, it will work.

Here is an image I made, showing the difference. Normal map on the left.

• This is a great answer, learned something new here :). May 7, 2020 at 15:08
• Hi, thanks for helping. So normal map contains slope information, and we can get height information indirectly with the help of slope. Bump map contains height information, but we can also get the slope information because it ranges between full black and full white. But if they both can get the height + slope information, then why are the normal map and bump map that i attached in the post shows totally different information? May 8, 2020 at 0:40
• @CheXuian I updated my answer May 8, 2020 at 5:21
• @Gunslinger Hi, thanks for replying. The roof texture are gotten from texturehaven. Sorry to say that i still can't really have a very straight concept on the difference between normal map and bump map. My main concern is still why both of these maps will produce height & direction information (either directly or indirectly), while they can look so different? Thank You so much. May 8, 2020 at 6:37
• (you really only need to read the first chapter of most undergrad level linear algebra books). Once you really understand this, and you start looking at the bitmaps you supplied, and start reasoning through for a few pixels what they mean, you'll understand the relationship between normal and height maps.
– Roel
May 8, 2020 at 6:56