Desfoque de Movimento (Direct3D 9)
Você pode aprimorar a velocidade percebida de um objeto em uma cena 3D desfocando o objeto e deixando um rastro de imagens de objeto desfocadas 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 renderizam cenas em um buffer fora da tela. O conteúdo do buffer é exibido na tela quando o aplicativo chama o método IDirect3DDevice9::P resent. 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 é atualizada ligeiramente, produzindo uma série de imagens de objeto desfocadas 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 renderizando a primeira imagem do objeto com todas as texturas quase transparentes. Sempre que o objeto é renderizado, a transparência da textura do objeto diminui. Quando o aplicativo renderiza o objeto em sua posição final, ele deve renderizar as texturas do objeto sem transparência. A exceção será se você estiver adicionando desfoque de movimento a outro efeito que exija transparência de textura. De qualquer forma, a imagem inicial do objeto no quadro deve ser a mais transparente. A imagem final deve ser a menos transparente.
Depois que o 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 aplicativo estiver simulando o efeito do usuário se movendo por uma cena em alta velocidade, ele poderá adicionar desfoque de movimento a toda a cena. Nesse caso, seu aplicativo renderiza a cena inteira várias vezes por quadro. Sempre que a cena for renderizada, seu aplicativo deverá mover o ponto de vista ligeiramente. Se a cena for altamente complexa, o usuário poderá ver uma degradação de desempenho visível à medida que a aceleração aumenta devido ao aumento do número de renderizações de cena por quadro.
Tópicos relacionados