Compartilhar via


Compactação de bloco de textura

O suporte à BC (Compactação de Bloco) para texturas foi estendido no Direct3D 11 para incluir os algoritmos BC6H e BC7. O BC6H oferece suporte a dados de origem de cores de alta faixa dinâmica e o BC7 fornece compactação de qualidade acima da média com menos artefatos para dados de origem RGB padrão.

Para obter informações mais específicas sobre o suporte ao algoritmo de compactação de bloco antes do Direct3D 11, incluindo suporte para os formatos BC1 a BC5, consulte Compactação de bloco (Direct3D 10).

**Observação sobre formatos de arquivo: ** Os formatos de compactação de textura BC6H e BC7 usam o formato de arquivo DDS para armazenar os dados de textura compactados. Para obter mais informações, consulte o Guia de Programação para DDS para obter detalhes.

Formatos de compactação de bloco com suporte no Direct3D 11

Dados de origem Resolução mínima de compactação de dados necessária Formato recomendado Nível mínimo de recurso com suporte
Cor de três canais com canal alfa Três canais de cores (5 bits:6 bits:5 bits), com 0 ou 1 bit(s) de alfa BC1 Direct3D 9.1
Cor de três canais com canal alfa Três canais de cores (5 bits: 6 bits: 5 bits), com 4 bits de alfa BC2 Direct3D 9.1
Cor de três canais com canal alfa Três canais de cores (5 bits: 6 bits: 5 bits) com 8 bits de alfa BC3 Direct3D 9.1
Cor de um canal Um canal de cor (8 bits) BC4 Direct3D 10
Cor de dois canais Dois canais de cores (8 bits: 8 bits) BC5 Direct3D 10
Cor HDR (High Dynamic Range) de três canais Três canais de cores (16 bits:16 bits:16 bits) em "metade" ponto flutuante* BC6H Direct3D 11
Cor de três canais, canal alfa opcional Três canais de cores (4 a 7 bits por canal) com 0 a 8 bits de alfa BC7 Direct3D 11

 

*"Metade" ponto flutuante é um valor de 16 bits que consiste em um bit de sinal opcional, um expoente polarizado de 5 bits e uma mantissa de 10 ou 11 bits.

Formatos BC1, BC2 e B3

Os formatos BC1, BC2 e BC3 são equivalentes aos formatos de compactação de textura DXTn do Direct3D 9 e são os mesmos que os formatos BC1, BC2 e BC3 correspondentes do Direct3D 10. O suporte para esses três formatos é exigido por todos os níveis de recursos (D3D_FEATURE_LEVEL_9_1, D3D_FEATURE_LEVEL_9_2, D3D_FEATURE_LEVEL_9_3, D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_10_1 e D3D_FEATURE_LEVEL_11_0).

Formato de compactação de bloco Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de pixels 4x4
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

 

*Esses esquemas de compactação (DXT2 e DXT4) não fazem distinção entre os formatos alfa pré-multiplicados do Direct3D 9 e os formatos alfa padrão. Essa distinção deve ser tratada pelos sombreadores programáveis no tempo de renderização.

Formatos BC4 e BC5

Formato de compactação de bloco Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de pixels 4x4
BC4 DXGI_FORMAT_BC4_UNORM, DXGI_FORMAT_BC4_SNORM, DXGI_FORMAT_BC4_TYPELESS QuatroCC="ATI1" 8
BC5 DXGI_FORMAT_BC5_UNORM, DXGI_FORMAT_BC5_SNORM, DXGI_FORMAT_BC5_TYPELESS FourCC="ATI2" 16

 

Formato BC6H

Para obter informações mais detalhadas sobre esse formato, consulte a documentação do formato BC6H.

Formato de compactação de bloco Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de pixels 4x4
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16, DXGI_FORMAT_BC6H_TYPELESS N/D 16

 

O formato BC6H pode selecionar diferentes modos de codificação para cada bloco de 4x4 pixels. Um total de 14 modos de codificação diferentes estão disponíveis, cada um com compensações ligeiramente diferentes na qualidade visual resultante da textura exibida. A escolha dos modos permite uma decodificação rápida pelo hardware com o nível de qualidade selecionado ou adaptado de acordo com o conteúdo de origem, mas também aumenta muito a complexidade do espaço de pesquisa.

Formato BC7

Para obter informações mais detalhadas sobre esse formato, consulte a documentação do formato BC7.

Formato de compactação de bloco Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de pixels 4x4
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB, DXGI_FORMAT_BC7_TYPELESS N/D 16

 

O formato BC7 pode selecionar diferentes modos de codificação para cada bloco de 4x4 pixels. Um total de 8 modos de codificação diferentes estão disponíveis, cada um com compensações ligeiramente diferentes na qualidade visual resultante da textura exibida. A escolha dos modos permite uma decodificação rápida pelo hardware com o nível de qualidade selecionado ou adaptado de acordo com o conteúdo de origem, mas também aumenta muito a complexidade do espaço de pesquisa.

Apêndices

Texturas