Compartilhar via


Compactação de bloco de textura no Direct3D 11

O suporte para texturas de compactação de bloco (BC) foi estendido no Direct3D 11 para incluir os algoritmos de BC6H e BC7. O BC6H dá suporte a dados de origem de cor de intervalo altamente dinâmico e o BC7 fornece compactação de qualidade melhor que a média com menos artefatos para dados de origem RGB padrão.

Para obter informações mais específicas sobre o suporte do algoritmo de compactação de bloco antes do Direct3D 11, incluindo o 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 compactada. 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 de compactação de dados mínima necessária Formato recomendado Nível mínimo de recursos 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 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 de alto alcance dinâmico (HDR) de três canais Três canais de cores (16 bits:16 bits:16 bits) no ponto flutuante "half" * 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" é um valor de 16 bits que consiste em um bit de sinal opcional, um expoente tendencioso 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 9 DXTn do Direct3D e são iguais aos 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 do 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 processada pelos sombreadores programáveis no momento da renderização.

Formatos BC4 e BC5

Formato de compactação de bloco Formato DXGI Formato equivalente do Direct3D 9 Bytes por bloco de pixels 4x4
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 obter mais informações sobre esse formato, consulte a documentação do formato BC6H.

Formato de compactação de bloco Formato DXGI Formato equivalente do 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 pixels 4x4. 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 a 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 a complexidade do espaço de pesquisa.

Formato BC7

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

Formato de compactação de bloco Formato DXGI Formato equivalente do 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 pixels 4x4. 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 a 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 a complexidade do espaço de pesquisa.

Nesta seção

Tópico Descrição
Formato BC6H
O formato BC6H é um formato de compactação de textura projetado para dar suporte a espaços de cores de intervalo altamente dinâmico (HDR) nos dados de origem.
Formato BC7
O formato BC7 é um formato de compactação de textura usado para compactação de alta qualidade de dados de RGB e RGBA.
Referência do modo de formato BC7
Esta documentação contém uma lista dos 8 modos de bloco e alocações de bits para blocos de formato de compactação de textura BC7.

Compactação de blocos (Direct3D 10)

Texturas