Colour depth for Normal maps

A very interesting article on PolyCount by EarthQuake on the reasons why we need to use more than 8 bits in certain maps and in particular Normal maps.

Of Bit Depths, Banding and Normal Maps

 

This is an issue that pops up more and more frequently these days. Now that many engines/renderers are finally using synced normal map workflows, the weaknesses in our pipeline become easier to spot.

 

First off, what is bit depth and why is it important? Bit depth refers to how many values an image can store. A 24 bit image can store 8 bits, or 256 values of information per channel. From this point forward, if I say 8, 16 or 32 bit, assume I mean per channel. 256 values are usually enough for content like diffuse, specular or gloss maps because these maps tend to use up a broader range of the value spectrum.