Algorithem for DXT3 or DXT5 texture compression.

Does anybody know the algorithem behined DXT3 or DXT5 texture compression?

I read microsofts doco on it, but it was not very enlighening :confused: .


— appendix —

In the interest of making this post a useful referecne for people who use serch buttons this is how I would describe Dxt1:

Blocks of 4x4 texels are compressed to 64 bits of data. For each 4x4 block 2 representative colours are calculated (stored as 16bit r5g6b5). Two colours being a linear scale between these representative colours are also calculated but not stored. This is the basis of a 4 colour look up table used to encode the block.

If alpha is used in a blok then instead of deriving 2 colours to make up a 4 colour table only one is derived. The colour table now only holds 3 colours. A reference to a value not in the table signifies a transperent texel.