Regarding the exclusion of 3Dc in 3DMark05, there seems to be a discussion of 3Dc being used in many future titles.
ATi boasts that 3Dc is faster and gives better quality than other solutions.
It seems that most people take ATi's words for granted... however, ATi is not telling the whole story.
3Dc is faster than non-compressed normalmaps, no question about it, since it reduces bandwidth requirements at the cost of some extra instructions.
However, DXT5-compression can also be used on normalmaps, which gives the same bandwidth reduction as 3Dc. Whether it is slower than 3Dc or not, depends on the implementation. In Humus' 3Dc demo, he renormalizes the DXT5 samples, in which case, 3Dc is at a slight advantage. If you however choose not to renormalize, chances are that DXT5 is not slower, or even faster than 3Dc.
3Dc could be considered higher quality than non-compressed normalmaps, if we compare with the same memory footprint. 3Dc can store larger normalmaps in the same amount of space, so more detail can be encoded. However, 3Dc introduces slight compression artifacts, so it is slightly lower quality than non-compressed normalmaps of the same resolution.
3Dc has less compression artifacts than DXT5, so in that sense it is higher quality.
However, normalmaps have an entirely different problem, which is related to mipmapping. Most people are probably familiar with the 'sparkling' of specular highlights when rough surfaces are viewed from a distance. Multisampling AA doesn't help to solve this problem.
A possible solution is to unnormalize the normals in the mipmaps.
By varying the length of the normals, the intensity of the highlights can be controlled, and sparkling can be reduced.
Here is a paper by NVIDIA (yes, ironically, but it was the best I could find, and it doesn't seem to be biased in any way), which demonstrates a method of unnormalizing normals and using it to antialias the lighting: http://developer.nvidia.com/object/mipmapping_normal_maps.html
Carmack has mentioned in his keynote that his next engine will use a technique such as this one.
Now, here is the catch with 3Dc: the format only stores 2 components, since the 3rd component of a unit-length vector can be derived from the first two components with a simple formula. This means that 3Dc can only be used for normalized vectors, and an antialiasing method such as the one in the paper mentioned earlier, is not possible to implement with 3Dc.
Since ATi fails to point this out, I thought I would.
ATi boasts that 3Dc is faster and gives better quality than other solutions.
It seems that most people take ATi's words for granted... however, ATi is not telling the whole story.
3Dc is faster than non-compressed normalmaps, no question about it, since it reduces bandwidth requirements at the cost of some extra instructions.
However, DXT5-compression can also be used on normalmaps, which gives the same bandwidth reduction as 3Dc. Whether it is slower than 3Dc or not, depends on the implementation. In Humus' 3Dc demo, he renormalizes the DXT5 samples, in which case, 3Dc is at a slight advantage. If you however choose not to renormalize, chances are that DXT5 is not slower, or even faster than 3Dc.
3Dc could be considered higher quality than non-compressed normalmaps, if we compare with the same memory footprint. 3Dc can store larger normalmaps in the same amount of space, so more detail can be encoded. However, 3Dc introduces slight compression artifacts, so it is slightly lower quality than non-compressed normalmaps of the same resolution.
3Dc has less compression artifacts than DXT5, so in that sense it is higher quality.
However, normalmaps have an entirely different problem, which is related to mipmapping. Most people are probably familiar with the 'sparkling' of specular highlights when rough surfaces are viewed from a distance. Multisampling AA doesn't help to solve this problem.
A possible solution is to unnormalize the normals in the mipmaps.
By varying the length of the normals, the intensity of the highlights can be controlled, and sparkling can be reduced.
Here is a paper by NVIDIA (yes, ironically, but it was the best I could find, and it doesn't seem to be biased in any way), which demonstrates a method of unnormalizing normals and using it to antialias the lighting: http://developer.nvidia.com/object/mipmapping_normal_maps.html
Carmack has mentioned in his keynote that his next engine will use a technique such as this one.
Now, here is the catch with 3Dc: the format only stores 2 components, since the 3rd component of a unit-length vector can be derived from the first two components with a simple formula. This means that 3Dc can only be used for normalized vectors, and an antialiasing method such as the one in the paper mentioned earlier, is not possible to implement with 3Dc.
Since ATi fails to point this out, I thought I would.