The development of advanced 3D content continues to push the envelope of on-screen visual realism, necessitating the use of more textures at higher resolutions to render more detailed and realistic images. Current titles are using two or more textures per object at resolutions up to 2048x2048 per texture and these requirements will continue to increase as 3D content developers strive for increased realism. Using more textures, however, also requires the support of an advanced and flexible technological foundation for handling them. 3dfx's FXT1™ texture compression technology provides that foundation.
One of the issues when using large numbers of textures is simply that it takes much more memory to store those textures. Consider, for example, that a 2048x2048 32-bit per texel texture requires 16 Mbytes of texture storage space (and this is without even storing texture mipmaps!). Furthermore, this is only for a single high-resolution texture! It wasn't long ago that 3D accelerators didn't even have 16 Mbytes of total memory onboard. Texture compression is a powerful way to increase the amount of textures used without dramatically increasing the texture storage requirements.
Increasing the size and number of textures used in a scene also increases the amount of memory bandwidth required for texture lookup. Ultimately, as the amount of memory bandwidth required for texture accesses grows large, the overall fill-rate performance of the 3D accelerator is reduced and the resulting frame rate declines. One of the benefits of utilizing compressed textures is that the amount of memory bandwidth required for texturing is significantly reduced. As a result, games and applications taking advantage of texture compression can achieve higher sustained fill-rates and thus higher overall frame rates.
As a free, open-source, cross-platform compression algorithm, 3dfx's FXT1™ texture compression technology allows content developers to create textures at higher resolutions and use more textures in a given scene while simultaneously reducing the memory bandwidth required for texturing. By reducing the amount of storage required for a given texture, more textures can be stored in a given amount of memory. As a result, more textures can be used in a rendered scene which can substantially improve overall visual quality. By reducing the memory bandwidth needed for texture transfers and processing, the overall fill-rate of a 3D accelerator is increased, which increases frame-rates and also generates a much more realistic, immersive 3D experience.