Partilhar via


Desfoque de movimento (Direct3D 9)

Você pode melhorar a velocidade percebida de um objeto em uma cena 3D desfocando o objeto e deixando um rastro desfocado de imagens de objetos atrás do objeto. Os aplicativos Direct3D fazem isso renderizando o objeto várias vezes por quadro.

Lembre-se de que os aplicativos Direct3D normalmente processam cenas em um buffer fora da tela. O conteúdo do buffer é exibido na tela quando o aplicativo chama o IDirect3DDevice9::P resent método. Seu aplicativo Direct3D pode renderizar o objeto várias vezes em uma cena antes de exibir o quadro na tela.

Programaticamente, seu aplicativo faz várias chamadas para um método DrawPrimitive , passando repetidamente o mesmo objeto 3D. Antes de cada chamada, a posição do objeto é ligeiramente atualizada, produzindo uma série de imagens de objetos desfocados na superfície de renderização de destino. Se o objeto tiver uma ou mais texturas, seu aplicativo poderá aprimorar o efeito de desfoque de movimento tornando a primeira imagem do objeto com todas as suas texturas quase transparentes. Cada vez que o objeto é renderizado, a transparência da textura do objeto diminui. Quando seu aplicativo renderiza o objeto em sua posição final, ele deve renderizar as texturas do objeto sem transparência. A exceção é se você estiver adicionando desfoque de movimento a outro efeito que exija transparência de textura. Em qualquer caso, a imagem inicial do objeto no quadro deve ser a mais transparente. A imagem final deve ser a menos transparente.

Depois que seu aplicativo renderiza a série de imagens de objeto na superfície de renderização de destino e renderiza o restante da cena, ele deve chamar o método IDirect3DDevice9::P resent para exibir o quadro na tela.

Se o seu aplicativo estiver simulando o efeito do usuário se movendo através de uma cena em alta velocidade, ele pode adicionar desfoque de movimento para toda a cena. Nesse caso, seu aplicativo renderiza a cena inteira várias vezes por quadro. Cada vez que a cena é renderizada, seu aplicativo deve mover o ponto de vista ligeiramente. Se a cena for altamente complexa, o usuário poderá ver uma degradação visível do desempenho à medida que a aceleração é aumentada devido ao número crescente de renderizações de cena por quadro.

Antialiasing