S3TC ( S3 Texture Compression ) [1] (también llamado DXTn o DirectX Texture Compression - DXTC ) es un método de compresión de texturas desarrollado originalmente por Iourcha et al. en S3 Graphics [2] para usar en el acelerador de gráficos por computadora Savage 3D .
El método de compresión es sorprendentemente similar al Color Cell Compression [3] publicado anteriormente . DXTC es un formato de compresión de textura con pérdida con un tamaño de salida fijo. Gracias al algoritmo de compresión, el formato S3TC se ha convertido en un formato de compresión de texturas ampliamente utilizado para gráficos de computadora en 3D acelerados por hardware. Desde la integración de S3TC en Microsoft DirectX 6.0 y OpenGL 1.3, este formato de compresión se ha generalizado enormemente. Hay al menos 5 variedades del formato S3TC (desde DXT1 hasta DXT5 inclusive). [cuatro]
El formato DXT1 proporciona la compresión más potente de todas las variantes de S3TC: cada bloque de 16 píxeles se convierte a 64 bits. También utiliza dos valores de color RGB de 16 bits diferentes (5:6:5) y una tabla de búsqueda 4x4 de 2 bits. DXT1 no admite canales alfa.
Cuando se utiliza el formato DXT3, cada bloque de 16 píxeles se convierte a 128 bits: 64 bits de datos de canal alfa y 64 bits de datos de color. El formato DXT3 es adecuado para imágenes y texturas con un cambio brusco en el canal alfa, es decir, transparencia.
Cuando se utiliza el formato DXT5, cada bloque de 16 píxeles se convierte a 128 bits: 64 bits de datos de canal alfa y 64 bits de datos de color. El formato DXT5 es adecuado para imágenes y texturas con cambios suaves y graduales en el canal alfa.
Si , entonces se calculan otros seis valores alfa tales que , , , , y .
De lo contrario, si , se calculan cuatro valores alfa tales que , , y donde y .
ID de códec FOURCC | Compresión de bloque | Descripción | Alfa premultiplicado | Índice de compresión | Texturas compatibles |
---|---|---|---|---|---|
DXT1 | BC1 | Alfa de 1 bit / Opaco | N / A | 6:1 (para imagen fuente de 24 bits) | simple no alfa |
DXT2 | BC2 | alfa explícito | Sí | 4:1 | alfa agudo |
DXT3 | BC2 | alfa explícito | no | 4:1 | alfa agudo |
DXT4 | BC3 | Alfa interpolado | Sí | 4:1 | gradiente alfa |
DXT5 | BC3 | Alfa interpolado | no | 4:1 | gradiente alfa |
ventajas:
Defectos: