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. |