Are normal maps expensive to render?


I’m developing my first app and I am petrified of making the game to slow. Just so I know are normal maps expensive to render or are they a cheap method to increase the graphics quality?


Its cheaper to use a normal map that to actually model all the geometry that you would need.

Extra CG calculations normal maps add:

  1. Storing the normal texture. Not really a calculation, but memory is important to remember.
  2. An extra texture look up. Texture look ups are relatively fast so don’t worry too much about this.
  3. Unpacking the normal. Its a simple calculation, but its done in a fragment shader so it happens A LOT.
  4. Multiplying the normal by the normal map. Vector/Matrix multiplication done many times.

On modern hardware, normal maps aren’t that costly. They’re usually preferred instead of having high vertex counts. I can’t give you a number of normal maps you can have because there are far too many variables playing into a scene to give a good approximation. Generally though, you can give most important objects a normal map. That is main characters, other NPC’s, and large objects in the surroundings.

It’s a separate decision for every model though. You need to figure out if it has enough detail as it is. Small objects obviously don’t need much and usually shouldn’t get a normal map. Will the player notice it? That’s an important question. Many times the player (especially in a fast paced game) won’t notice half the things that you do when you are scrutinizing your level.

The verdict: don’t be too worried about using normal maps, there not that expensive on standalones. But be reasonable.