Compartilhar via


Mesclagem de textura

O Direct3D pode mesclar até oito texturas em primitivos em uma única passagem. O uso de várias combinações de texturas pode aumentar profundamente a taxa de quadros de um aplicativo Direct3D. Um aplicativo emprega várias combinações de texturas para aplicar texturas, sombras, iluminação especular, iluminação difusa e outros efeitos especiais em uma única passagem.

Para usar a combinação de texturas, seu aplicativo deve primeiro verificar se o hardware do usuário dá suporte a ela.

Estágios de textura e a cascata de mistura de texturas

O Direct3D dá suporte à combinação de várias texturas de passagem única por meio do uso de estágios de textura. Um estágio de textura usa dois argumentos e executa uma operação de mesclagem neles, passando o resultado para processamento adicional ou para rasterização. Você pode visualizar um estágio de textura, conforme mostrado no diagrama a seguir.

Diagrama de um estágio de textura

Como mostra o diagrama anterior, os estágios de textura combinam dois argumentos usando um operador especificado. As operações comuns incluem modulação simples ou adição dos componentes de cor ou alfa dos argumentos, mas há suporte para mais de duas dúzias de operações. Os argumentos para um estágio podem ser uma textura associada, a cor ou alfa iterado (iterado durante o sombreamento de Gouraud), cor e alfa arbitrários ou o resultado do estágio de textura anterior.

Observação O Direct3D distingue a combinação de cores da combinação alfa. Os aplicativos definem operações de mesclagem e argumentos para cor e alfa individualmente, e os resultados dessas configurações são independentes uns dos outros.

 

A combinação de argumentos e operações usada por vários estágios de mesclagem define uma linguagem de mesclagem simples baseada em fluxo. Os resultados de um estágio fluem para outro estágio, desse estágio para o próximo e assim por diante. O conceito de resultados fluindo de estágio para estágio para eventualmente serem rasterizados em um polígono é freqüentemente chamado de cascata de mistura de textura. O diagrama a seguir mostra como os estágios de textura individuais compõem a cascata de mesclagem de texturas.

Diagrama de estágios de textura na cascata de mesclagem de texturas

Cada estágio em um dispositivo tem um índice baseado em zero. O Direct3D permite até oito estágios de combinação, embora você deva sempre verificar os recursos do dispositivo para determinar quantos estágios o hardware atual dá suporte. O primeiro estágio de mesclagem está no índice 0, o segundo está em 1 e assim por diante, até o índice 7. O sistema combina estágios em ordem crescente de índice.

Use apenas o número de estágios que você precisa; Os estágios de mesclagem não utilizados são desativados por padrão. Portanto, se o aplicativo usar apenas os dois primeiros estágios, ele precisará apenas definir operações e argumentos para os estágios 0 e 1. O sistema combina os dois estágios e ignora os estágios desabilitados.

Se o aplicativo variar o número de estágios que ele usa para diferentes situações, como quatro estágios para alguns objetos e apenas dois para outros, você não precisará desabilitar explicitamente todos os estágios usados anteriormente. Uma opção é desabilitar a operação de cor para o primeiro estágio não utilizado, então todos os estágios com um índice mais alto não serão aplicados. Outra opção é desabilitar completamente o mapeamento de textura definindo a operação de cor para o primeiro estágio de textura (estágio 0) para um estado desabilitado.

Nesta seção

Tópico Descrição

Estágios de mistura

Um estágio de mesclagem é um conjunto de operações de textura e seus argumentos que definem como as texturas são combinadas.

Mesclagem de texturas multipassagem

Os aplicativos Direct3D podem obter vários efeitos especiais aplicando várias texturas a um primitivo ao longo de várias passagens de renderização. O termo comum para isso é mistura de textura multipassagem. Um uso típico para a mesclagem de texturas de várias passagens é emular os efeitos de modelos complexos de iluminação e sombreamento aplicando várias cores de várias texturas diferentes. Um desses aplicativos é chamado de mapeamento de luz.

 

Texturas