Compresión de bloques de textura en Direct3D 11

La compatibilidad con compresión de bloques (BC) para texturas se ha ampliado en Direct3D 11 para incluir los algoritmos BC6H y BC7. BC6H admite datos de origen de color de rango alto dinámico y BC7 proporciona una compresión de calidad superior a la media con menos artefactos para datos de origen RGB estándar.

Para obtener información más específica sobre la compatibilidad del algoritmo de compresión de bloques antes de Direct3D 11, incluida la compatibilidad con los formatos BC1 a BC5, consulte Compresión de bloques (Direct3D 10).

Nota sobre los formatos de archivo: Los formatos de compresión de textura BC6H y BC7 usan el formato de archivo DDS para almacenar los datos de textura comprimidos. Para obtener más información, consulte la Guía de programación para DDS para obtener más información.

Formatos de compresión de bloques admitidos en Direct3D 11

Datos de origen Resolución de compresión de datos mínima necesaria Formato recomendado Nivel de característica mínimo admitido
Color de tres canales con canal alfa Tres canales de color (5 bits:6 bits:5 bits), con 0 o 1 bits de alfa BC1 Direct3D 9.1
Color de tres canales con canal alfa Tres canales de color (5 bits:6 bits:5 bits), con 4 bits de alfa BC2 Direct3D 9.1
Color de tres canales con canal alfa Tres canales de color (5 bits:6 bits:5 bits) con 8 bits de alfa BC3 Direct3D 9.1
Color de un canal Un canal de color (8 bits) BC4 Direct3D 10
Color de dos canales Dos canales de color (8 bits:8 bits) BC5 Direct3D 10
Color de alto rango dinámico de tres canales (HDR) Tres canales de color (16 bits:16 bits:16 bits) en punto flotante "medio" * BC6H Direct3D 11
Color de tres canales, canal alfa opcional Tres canales de color (de 4 a 7 bits por canal) con 0 a 8 bits de alfa BC7 Direct3D 11

*"Half" punto flotante es un valor de 16 bits que consta de un bit de signo opcional, un exponente sesgado de 5 bits y una mantisa de 10 o 11 bits.

Formatos BC1, BC2 y B3

Los formatos BC1, BC2 y BC3 son equivalentes a los formatos de compresión de textura DXTn de Direct3D 9 y son los mismos que los formatos correspondientes de Direct3D 10 BC1, BC2 y BC3. Todos los niveles de características (D3D_FEATURE_LEVEL_9_1, D3D_FEATURE_LEVEL_9_2, D3D_FEATURE_LEVEL_9_3, D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_10_1 y D3D_FEATURE_LEVEL_11_0 requieren compatibilidad con estos tres formatos).

Formato de compresión de bloques Formato DXGI Formato equivalente de Direct3D 9 Bytes por bloque de 4 x 4 píxeles
BC1 DXGI_FORMAT_BC1_UNORM, DXGI_FORMAT_BC1_UNORM_SRGB, DXGI_FORMAT_BC1_TYPELESS D3DFMT_DXT1, FourCC="DXT1" 8
BC2 DXGI_FORMAT_BC2_UNORM, DXGI_FORMAT_BC2_UNORM_SRGB, DXGI_FORMAT_BC2_TYPELESS D3DFMT_DXT2*, FourCC="DXT2", D3DFMT_DXT3, FourCC="DXT3" 16
BC3 DXGI_FORMAT_BC3_UNORM, DXGI_FORMAT_BC3_UNORM_SRGB, DXGI_FORMAT_BC3_TYPELESS D3DFMT_DXT4*, FourCC="DXT4", D3DFMT_DXT5, FourCC="DXT5" 16

*Estos esquemas de compresión (DXT2 y DXT4) no distinguen entre los formatos alfa multiplicados previamente de Direct3D 9 y los formatos alfa estándar. Esta distinción debe controlarse mediante los sombreadores programables en tiempo de representación.

Formatos BC4 y BC5

Formato de compresión de bloques Formato DXGI Formato equivalente de Direct3D 9 Bytes por bloque de 4 x 4 píxeles
BC4 DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM, DXGI_FORMAT_BC4_TYPELESS FourCC="ATI1" 8
BC5 DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM, DXGI_FORMAT_BC5_TYPELESS FourCC="ATI2" 16

Formato BC6H

Para obtener información más detallada sobre este formato, consulte la documentación del formato BC6H .

Formato de compresión de bloques Formato DXGI Formato equivalente de Direct3D 9 Bytes por bloque de 4 x 4 píxeles
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS N/D 16

El formato BC6H puede seleccionar diferentes modos de codificación para cada bloque de 4 x 4 píxeles. Hay disponibles un total de 14 modos de codificación diferentes, cada uno con ventajas ligeramente diferentes en la calidad visual resultante de la textura mostrada. La elección de modos permite descodificar rápidamente el hardware con el nivel de calidad seleccionado o adaptado según el contenido de origen, pero también aumenta considerablemente la complejidad del espacio de búsqueda.

Formato BC7

Para obtener información más detallada sobre este formato, consulte la documentación del formato BC7 .

Formato de compresión de bloques Formato DXGI Formato equivalente de Direct3D 9 Bytes por bloque de 4 x 4 píxeles
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS N/D 16

El formato BC7 puede seleccionar diferentes modos de codificación para cada bloque de 4 x 4 píxeles. Hay disponibles un total de 8 modos de codificación diferentes, cada uno con equilibrios ligeramente diferentes en la calidad visual resultante de la textura mostrada. La elección de modos permite descodificar rápidamente el hardware con el nivel de calidad seleccionado o adaptado según el contenido de origen, pero también aumenta considerablemente la complejidad del espacio de búsqueda.

En esta sección

Tema Descripción
Formato BC6H
El formato BC6H es un formato de compresión de textura diseñado para admitir espacios de color de rango dinámico alto (HDR) en los datos de origen.
Formato BC7
El formato BC7 es un formato de compresión de textura utilizado para la compresión de alta calidad de los datos RGB y RGBA.
Referencia del modo de formato BC7
Esta documentación contiene una lista de los 8 modos de bloque y asignaciones de bits para bloques de formato de compresión de textura BC7.

Compresión de bloques (Direct3D 10)

Texturas