Understanding what Normal maps do

I’m watching a Blender Cloud tutorial on creating game assets. I’m trying to understand what baking normals does, what is Normal Map actually used for. I understand that it is sort of like a Bump Map. Ok, the guy made 2 models, one low poly one high poly of the same object. He’s using Blender Render, he unwrapped the low poly model, and baked normal maps. But what is the purpose, what for, I don’t understand. I more understand, when he baked high poly normal maps, and used them in the low poly object, that makes sense to me, the low poly model looks more high poly. But why bake normal maps, from a low poly and use them in a low poly object? It sort of defeats the purpose, or I don’t get it. I hope my question is not too confusing, I’m just trying to understand this well.

In 3D, a surface is represented by a collection of triangles. Each triangle is facing a direction and this is called ‘Normal’. Most of the times, the surface that we want to create doesn’t correspond exactly to the triangle simplification of it (smooth shading is the most common situation, where the normals of each face are interpolated with the normals of the neighbours).

If you need to add even more details to a surface, you can use more triangles or you can use a normal map. There are a few types of normal maps you can use, being the tangent map the most common. All of them tell the engine in which direction a particular area in the triangle being rendered should be facing, and thought that area is still part of the triangle, it will look as if it has more geometric detail.

So basically, normal maps will help you keep your surface with a minimum of triangles, while still look (quite) highly detailed.

Since each pixel in a normal texture represents a vector, and not a color, it’s a bit difficult to create your own normal maps just by painting them, and tools like baking, bumpmaps, etc, give you the ability to encode this vectors either by getting the information from a more complex geometry, or a height map.

I’ll just add that a bump map changes the normals by letting the renderer evaluate the difference of intensity in the driving map, whereas a normal map lets you set the normal directly. So for a sloping angle a bump map would need many shades of intensity to create the illusion, but a normal map can achieve the same thing using a solid color that is different from its original normal.

Thanks, I understand it pretty well now. By the way, anybody knows when Sub-Polygon Displacement is coming to Blender?