Partilhar via


Compressão de bloco de textura no Direct3D 11

O suporte de compactação de bloco (BC) para texturas foi estendido no Direct3D 11 para incluir os algoritmos BC6H e BC7. O BC6H suporta dados de origem de cores de faixa dinâmica alta e o BC7 fornece compactação de qualidade melhor do que a média com menos artefatos para dados de origem RGB padrão.

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

Nota sobre formatos de ficheiro: Os formatos de compressão de textura BC6H e BC7 utilizam o formato de ficheiro DDS para armazenar os dados de textura comprimidos. Para obter mais informações, consulte o Guia de Programação para DDS para obter detalhes.

Formatos de compressão de blocos suportados no Direct3D 11

Fonte dos dados Resolução mínima de compressão de dados necessária Formato recomendado Nível mínimo de recurso suportado
Cor de três canais com canal alfa Três canais de cor (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 cor (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 cor (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 cor (8 bits: 8 bits) BC5 Direct3D 10
Cor HDR (High Dynamic Range) de três canais Três canais de cor (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 cor (4 a 7 bits por canal) com 0 a 8 bits de alfa BC7 Direct3D 11

*Ponto flutuante "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 compressão de textura Direct3D 9 DXTn e são os mesmos que os formatos correspondentes Direct3D 10 BC1, BC2 e BC3. 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 compressão de blocos Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de 4x4 pixels
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

*Estes esquemas de compressão (DXT2 e DXT4) não fazem distinção entre os formatos alfa pré-multiplicados Direct3D 9 e os formatos alfa padrão. Essa distinção deve ser manipulada pelos sombreadores programáveis no momento da renderização.

Formatos BC4 e BC5

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

Formato de compressão de blocos Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de 4x4 pixels
BC6H DXGI_FORMAT_BC6H_UF16, DXGI_FORMAT_BC6H_SF16 DXGI_FORMAT_BC6H_TYPELESS N/A 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 muito a complexidade do espaço de pesquisa.

Formato BC7

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

Formato de compressão de blocos Formato DXGI Formato equivalente ao Direct3D 9 Bytes por bloco de 4x4 pixels
BC7 DXGI_FORMAT_BC7_UNORM, DXGI_FORMAT_BC7_UNORM_SRGB DXGI_FORMAT_BC7_TYPELESS N/A 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 muito a complexidade do espaço de pesquisa.

Nesta secção

Tópico Descrição
Formato BC6H
O formato BC6H é um formato de compressão de textura projetado para suportar espaços de cores HDR (High Dynamic Range) em dados de origem.
Formato BC7
O formato BC7 é um formato de compressão de textura usado para compressão de alta qualidade de dados RGB e RGBA.
de 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 compressão de textura BC7.

Compactação de bloco (Direct3D 10)

Texturas