Partilhar via


Nevoeiro (Direct3D 9)

Adicionar névoa a uma cena 3D pode melhorar o realismo, fornecer ambiente ou definir um clima, e artefatos obscuros às vezes causados quando a geometria distante entra em vista. O Direct3D suporta dois modelos de névoa, névoa de pixel e névoa de vértice, cada um com seus próprios recursos e interface de programação.

Essencialmente, a névoa é implementada misturando a cor dos objetos em uma cena com uma cor de névoa escolhida com base na profundidade de um objeto em uma cena ou sua distância do ponto de vista. À medida que os objetos ficam mais distantes, sua cor original se mistura cada vez mais com a cor de névoa escolhida, criando a ilusão de que o objeto está sendo cada vez mais obscurecido por pequenas partículas flutuando na cena. A ilustração a seguir mostra uma cena renderizada sem névoa e uma cena semelhante renderizada com névoa habilitada.

ilustração da mesma cena com e sem nevoeiro

Nesta ilustração, a cena à esquerda tem um horizonte claro, além do qual nenhum cenário é visível, mesmo que fosse visível no mundo real. A cena à direita obscurece o horizonte usando uma cor de névoa idêntica à cor de fundo, fazendo com que os polígonos pareçam desaparecer à distância. Ao combinar efeitos de névoa discretos com design de cena criativo, você pode adicionar humor e suavizar a cor dos objetos em uma cena.

O Direct3D fornece duas maneiras de adicionar névoa a uma cena: névoa de pixel e névoa de vértice, nomeada por causa de como os efeitos de névoa são aplicados. Para obter detalhes, consulte Pixel Fog (Direct3D 9) e Vertex Fog (Direct3D 9). Em resumo, a névoa de pixel - também chamada de névoa de mesa - é implementada no driver do dispositivo e a névoa de vértice é implementada no mecanismo de iluminação Direct3D. Um aplicativo pode implementar névoa com um sombreador de vértice e névoa de pixel simultaneamente, se desejado.

Observação

Independentemente de você usar névoa de pixel ou vértice, seu aplicativo deve fornecer uma matriz de projeção compatível para garantir que os efeitos de névoa sejam aplicados corretamente. Esta restrição aplica-se mesmo a aplicações que não utilizam o motor de transformação e iluminação Direct3D. Para obter detalhes adicionais sobre como fornecer uma matriz apropriada, consulte Transformação de projeção (Direct3D 9).

 

Os tópicos a seguir apresentam o fog e apresentam informações sobre o uso de vários recursos de fog em aplicativos Direct3D.

A mistura de névoa é controlada por estados de renderização; não faz parte do pipeline de pixels programáveis.

de renderização Direct3D