# How do Normal maps help performance?

After looking into it I can’t see how they actually help. I used to think that Normal maps simply instructed the material to react to light, reflecting it toward an XYZ vector.

But apparently Normal maps add polygons to the model and move them in the world. It’s like the polygons are there all along. It uses tesselation. Which means that not only do those polygons ACTUALLY exist, they also have to be calculated for. I’ve seen this in wireframe. Additionally, a Normal Map has to be held in memory as it’s a texture.

So… why is a Normal Map better than just adding more polygons?

Normal maps change the direction a surface is facing, when games first started using that type of effect they used bump maps like 3D software has used, but normal maps render faster than bump maps because there’s no depth calculation required since all of the information is in the normal map.
What you’re probably thinking of is displacement maps, which are like bump maps but they actually push the vertices to create real 3D depth, they use dynamic tesselation to increase the polygon count to have more detail, but it is set up so that the tesselation increases closer to the camera since things further away don’t need as much detail.
Neither increases performance over not having them, they’re both ways to get increased quality with better performance than actually having the details modeled in.

Well. I feel like an idiot. xD

No joke I just googled “How do normal maps work” so that I could show you why I was confused…The first page I opened told me exactly what you told me.

Anyway… Thanks! Just not sure how I messed up so hard. Seriously googled at least 4 - 5 different search terms and read a few forum thread pages trying to figure out why they were even used. Derp.

Thanks also DV… Related question, how does POM factor into bump / normal maps?
Example this thread from yesterday…(BTW these in frostbite are using POM)

I don’t know this for sure, but from what I can gather, Parallax occlusion mapping uses a depth map like displacement mapping does, and it splits it into a set of layers, and then it displaces the pixels of the material based on those layers, when you look at it from angles, it’ll look like it’s displacing geometry, but if you look at it from the side, you’ll see that it’s still flat. So it’s more for a small-scale displacement effect that normal mapping can’t achieve but is too high detail for real displacement.

Cheers for that DV!