gsgrunt said:
What does this mean?
128-bit, 64-bit & 32-bit per pixel floating point color formats
External formats. They can render to them, and use them as textures, and most likely they're all converted to/from an internal 4xFP24 when loading/storing. Just like with R3x0. (Or do you suggest that R420 will introduce FP16 calculations for ATi.
)
DemoCoder:
I haven't seen the exact standard, but I assume that the 2x16 bits that are used for two base colours, are instead used for two normals. I think the most reasonable coding would be a few bits to select a facet on an aproximation of the unit sphere, and the rest of the bits for 2D coordinates on that facet. And then normalize the end result.
(If the unit sphere is approximated by a unit octahederon, you'd get a very simple decompression.)
<...looking at Java3D normal compression>
And it seems like that's a similar approach to represent the normals. But the mini-palettes aren't there.
<...looking at ATI paper on DXTC for nomals>
Oh, it seems like they've gone for tangent space normals only. That way you coud almost squeeze in the quality from Java3D in 16 bits.
You don't have to start with FP32, FX16 is more than enough. But I agree that it can be good to start with a higher quality format than the final. What I meant in the last post was that you don't need any floating point
in the compressed normal format.