Dissolve, esmaece e desliza (Direct3D 9)

Cada vez mais, aplicativos empregam efeitos especiais que são comumente usados em filmes e vídeo, como desintegração, passagem de dedo e desvanecimento.

Em uma desintegração, uma imagem é gradualmente substituída por outra em uma sequência de quadros suavizada. Embora o Direct3D forneça métodos de utilizar várias mesclagens de textura para conseguir o mesmo efeito, os aplicativos que utilizam o buffer de estêncil para desintegrações podem usar recursos de mesclagem de textura para outros efeitos enquanto eles fazem uma desintegração.

Quando seu aplicativo executa uma desintegração, ele deve renderizar duas imagens diferentes. Ele usa o buffer de estêncil para controlar quais pixels de cada imagem são desenhadas na superfície de destino de renderização. Você pode definir uma série de máscaras de estêncil e copiá-las para o buffer de estêncil em quadros sucessivos. Como alternativa, você pode definir uma máscara de estêncil de base para o primeiro quadro e alterá-la de forma incremental.

No início da desintegração, seu aplicativo define a função de estêncil e máscara de estêncil para que a maioria dos pixels da imagem inicial passem no teste de estêncil. A maioria dos pixels da imagem final deve falhar no teste de estêncil. Em quadros sucessivos, a máscara de estêncil é atualizada para que cada vez menos pixels da imagem inicial passem no teste. À medida que os quadros progridem, cada vez menos pixels da imagem final falham no teste. Dessa forma, seu aplicativo pode executar uma desintegração usando qualquer padrão arbitrário de desintegração.

O desvanecimento para dentro ou para fora é um caso especial de desintegração. Ao desvanecer para dentro, o buffer de estêncil é usado para desintegrar a partir de uma imagem preta ou branca para uma renderização de uma cena 3D. O desvanecimento para fora é o oposto, seu aplicativo é iniciado com uma renderização de uma cena 3D e se desintegra em preto e branco. O desvanecimento pode ser feito usando qualquer padrão arbitrário que você deseja empregar.

Os aplicativos Direct3D usam uma técnica semelhante para as passagens de dedo. Por exemplo, quando um aplicativo realiza uma passagem de dedo da esquerda para a direita, a imagem final parece deslizar gradualmente na parte superior da imagem inicial da esquerda para a direita. Assim como em uma desintegração, você deve definir uma série de máscaras de estêncil que são carregadas no buffer de estêncil em quadros sucessivos, ou modificar sucessivamente a máscara de estêncil inicial. As máscaras de estêncil são usadas para desativar a gravação de pixels da imagem inicial e para habilitar a gravação de pixels da imagem final.

Uma passagem de dedo é um pouco mais complexa do que uma desintegração em que seu aplicativo deve ler os pixels da imagem final na ordem inversa da passagem do dedo. Ou seja, se a passagem do dedo acontecer da esquerda para a direita, seu aplicativo deverá ler pixels da imagem final da direita para a esquerda.

Técnicas de buffer de estêncil