Formatos de textura comprimidos (Direct3D 9)
Esta sección contiene información sobre la organización interna de formatos de textura comprimidos. No necesita estos detalles para usar texturas comprimidas, ya que puede usar funciones D3DX para la conversión a y desde formatos comprimidos. Sin embargo, esta información es útil si desea operar directamente en datos de superficie comprimidos.
Direct3D usa un formato de compresión que divide los mapas de textura en bloques de elementos de textura 4x4. Si la textura no contiene transparencia ( es opaca) o si la transparencia se especifica mediante un alfa de 1 bits, un bloque de 8 bytes representa el bloque de mapa de texturas. Si el mapa de texturas contiene elementos de textura transparentes, mediante un canal alfa, un bloque de 16 bytes lo representa.
Cualquier textura única debe especificar que sus datos se almacenen como 64 o 128 bits por grupo de 16 elementos de textura. Si los bloques de 64 bits (es decir, formato DXT1) se usan para la textura, es posible mezclar los formatos alfa opacos y de 1 bits por bloque dentro de la misma textura. Es decir, la comparación de la magnitud de entero sin signo de color_0 y color_1 se realiza de forma única para cada bloque de 16 elementos de textura.
Cuando se usan bloques de 128 bits, el canal alfa debe especificarse en formato explícito (formato DXT2 o DXT3) o en modo interpolado (formato DXT4 o DXT5) para toda la textura. Al igual que con el color, cuando se selecciona el modo interpolado, se pueden usar ocho alfas interpolados o seis alfas interpolados en bloque. De nuevo, la comparación de magnitud de alpha_0 y alpha_1 se realiza de forma única en bloque por bloque.
El tono de los formatos DXTn es diferente de lo que se devolvió en DirectX 7.0. El tono ahora se mide en bytes (no en bloques). Por ejemplo, si tiene un ancho de 16, tendrá un tono de cuatro bloques (4*8 para DXT1, 4*16 para DXT2-5).
Temas relacionados