High precision textures

GL_RGB10_A2 with GL_UNSIGNED_INT_10_10_10_2

Anyone else see a difference when using that for normal maps (when doing per-pixel specular or reflections)?

I know nVidia has the “HILO” texture format, but I don’t have an nvidia based card either (plus I’m trying for more compatible textures).

I just tried it, and it does make a small difference (I was expecting more), I could post images of the differences (not that it would really matter).

Grr, ATI needs to make an extension to support 11-11-10 32Bit textures, I could use the added precision. Oh well.

I think the major reason why the HILO gives better results is that it normalizes after the filtering, so you always get a vector of length 1 in the dot3 operation. With other texture formats you usually end up with a vector that isn’t exactly 1 in length, and the less uniformly the normalmap is colored the more off you’ll get.

and HILO is internal always 16-16-16, with a dotproduct calculated with floats 32-32-32 together… quite high (and the HILO is always length1… very important…)