Compartilhar via


Formatos de textura compactada

Esta seção contém informações sobre a organização interna de formatos de textura compactados. Você não precisa desses detalhes para usar texturas compactadas, pois pode usar funções do Direct3D para conversão de e para formatos compactados. No entanto, essas informações são úteis se você deseja operar diretamente em dados de superfície compactados.

O Direct3D usa um formato de compactação que divide mapas de textura em blocos de texel 4x4. Se a textura não contiver transparência - for opaca - ou se a transparência for especificada por um alfa de 1 bit, um bloco de 8 bytes representará o bloco de mapa de textura. Se o mapa de textura contiver texels transparentes, usando um canal alfa, um bloco de 16 bytes o representará.

Qualquer textura única deve especificar que seus dados são armazenados como 64 ou 128 bits por grupo de 16 texels. Se blocos de 64 bits - ou seja, o formato BC1 - forem usados para a textura, será possível misturar os formatos alfa opaco e de 1 bit por bloco dentro da mesma textura. Em outras palavras, a comparação da magnitude inteira sem sinal de color_0 e color_1 é executada exclusivamente para cada bloco de 16 texels.

Quando blocos de 128 bits são usados, o canal alfa deve ser especificado no modo explícito (formato BC2) ou interpolado (formato BC3) para toda a textura. Assim como acontece com a cor, quando o modo interpolado é selecionado, oito alfas interpolados ou seis alfas interpolados podem ser usados bloco por bloco. Novamente, a comparação de magnitude de alpha_0 e alpha_1 é feita exclusivamente bloco a bloco.

O pitch para formatos BCn é medido em bytes (não em blocos). Por exemplo, se você tiver uma largura de 16, terá um passo de quatro blocos (4 * 8 para BC1, 4 * 16 para BC2 ou BC3).

Recursos de textura compactada