Hello guys.
Recently, I’ve been creating smooth normal maps from high poly models, and I’ve started to notice that saving them directly in 8 bit generates a lot of banding. So I wanted to save them in 16 bit directly and then dither down to 8, but the texture was brighter than it should be.
Here’s this small tutorial, thanks to plasticmind, who helped me with the part of fixing the gamma levels of the texture before dithering it down to 8 bit. This makes the texture dithered instead of banded. If you prefer banded, don’t do this, but if you prefer dithering to ugly banding, keep reading.
WARNING: Don’t do this if you’re not sure if your texture is 16 bit, else you could potentially screw it up.
UPDATE: Sadly, I’ve had some problems with normal maps causing seams using this method. If you get seams doing this, you’ll have to directly bake to 8.
First step, let’s say that you already have your texture baked, in my case it’s a normal map baked from a high poly model to the low poly model I’ll use in the game:

Also, the texture’s gamma is too high, the texture looks too bright.
So, we want to dither it down to 8 bit and set the brightness down.
First, save the texture to a 16 bit tiff:

Set compression to whatever you want, it’s all lossless and we won’t be using it ingame anyways.
Now open the texture in Photoshop. If you go to Image->Mode, you’ll notice that 16 bits is ticket. That’s because it’s a 16 bit texture, what we wanted.
Now go create an exposure adjustment layer:






Comments are closed.