DirectX Texture compression 5

From Valve Developer Community
Jump to: navigation, search

DirectX Texture compression 5, or DXT5, is a variation of the S3TC (S3 Texture Compression) image decompression algorithm included in DirectX (since DX 6.0). DXT5 is also the Vtex compile parameter used to utilize this algorithm as an alternative to full decompression.

DXT5 converts a 4x4 block of pixels into 128 bits of output (consisting of 64 bits of alpha channel data (two 8 bit alpha values and a 4x4 3 bit lookup table) followed by 64 bits of encoded color data) resulting in a 4:1 compression ratio with 8-bit RGBA input data.


Usage

Some consider DXT5 to be the most flexible general purpose compression codec. It can handle gradient alpha textures (using an interpolated alpha scheme for good results).

However, it is a lossy compression algorithm, resulting in image quality degradation, an effect which is minimized by the ability to increase texture resolutions while maintaining the same memory requirements. Hand-drawn cartoon-like images do not compress well, nor does normal map data, both of which usually results in very poor image quality.

See also