A normal map is a good way to make a 3D object appear to have more detail. Normal mapping is best used to add smaller details like wrinkles, bolts, and other details that need lots of triangles to model.
The usage of normal mapping can depend on the type and art direction of a game.
In most of our internal projects, we use normal mapping with no noticeable degradation in performance. Because we target high-end devices for most of our demos, low-end devices might have different results.
Using normal mapping does come with a cost, even if the cost is small. Remember:
- A normal map is an extra texture. This means more texture fetches, which results in more bandwidth being used.
- Use normal maps sparingly when targeting lower-end devices.
However, performance can be improved if geometry has fewer triangles as a result of normal map use.
The following image shows an example of how you could use a normal map and textures for the smaller details: