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.
Tópicos relacionados