Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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, porque você pode usar funções D3DX para conversão de e para formatos compactados. No entanto, essas informações são úteis se você quiser operar diretamente em dados de superfície compactados.
O Direct3D usa um formato de compactação que divide mapas de textura em blocos texel 4x4. Se a textura não contiver transparência - é opaca - ou se a transparência for especificada por um alfa de 1 bit, um bloco de 8 bytes representa o bloco do mapa de textura. Se o mapa de textura contiver texels transparentes, usando um canal alfa, um bloco de 16 bytes o representa.
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, formato DXT1 - forem usados para a textura, é possível misturar os formatos opaco e alfa de 1 bit por bloco dentro da mesma textura. Em outras palavras, a comparação da magnitude inteira não assinada de color_0 e color_1 é realizada 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 DXT2 ou DXT3) ou interpolado (formato DXT4 ou DXT5) para toda a textura. Tal como acontece com a cor, quando o modo interpolado é selecionado, oito alfas interpolados ou seis modos alfas interpolados podem ser usados bloco a bloco. Mais uma vez, a comparação da magnitude de alpha_0 e alpha_1 é feita exclusivamente bloco a bloco.
O pitch para formatos DXTn é diferente do que foi retornado no DirectX 7.0. O pitch agora é medido em bytes (não em blocos). Por exemplo, se você tiver uma largura de 16, então você terá um passo de quatro blocos (4 * 8 para DXT1, 4 * 16 para DXT2-5).
Tópicos relacionados