Sfocatura del movimento (Direct3D 9)

È possibile migliorare la velocità percepita di un oggetto in una scena 3D offuscando l'oggetto e lasciando un percorso sfocato di immagini oggetto dietro l'oggetto. Le applicazioni Direct3D eseguono questa operazione eseguendo il rendering dell'oggetto più volte per fotogramma.

Tenere presente che le applicazioni Direct3D in genere eseguono il rendering delle scene in un buffer fuori schermo. Il contenuto del buffer viene visualizzato sullo schermo quando l'applicazione chiama il metodo IDirect3DDevice9::P resent . L'applicazione Direct3D può eseguire il rendering dell'oggetto più volte in una scena prima di visualizzare il fotogramma sullo schermo.

A livello di codice, l'applicazione effettua più chiamate a un metodo DrawPrimitive, passando ripetutamente lo stesso oggetto 3D. Prima di ogni chiamata, la posizione dell'oggetto viene aggiornata leggermente, generando una serie di immagini di oggetti sfocate sulla superficie di rendering di destinazione. Se l'oggetto ha una o più trame, l'applicazione può migliorare l'effetto sfocatura del movimento eseguendo il rendering della prima immagine dell'oggetto con tutte le trame quasi trasparenti. Ogni volta che viene eseguito il rendering dell'oggetto, la trasparenza della trama dell'oggetto diminuisce. Quando l'applicazione esegue il rendering dell'oggetto nella posizione finale, deve eseguire il rendering delle trame dell'oggetto senza trasparenza. L'eccezione è se si aggiunge la sfocatura del movimento a un altro effetto che richiede la trasparenza della trama. In ogni caso, l'immagine iniziale dell'oggetto nella cornice deve essere la più trasparente. L'immagine finale deve essere la meno trasparente.

Dopo che l'applicazione esegue il rendering della serie di immagini oggetto nella superficie di rendering di destinazione ed esegue il rendering del resto della scena, deve chiamare il metodo IDirect3DDevice9::P resent per visualizzare il fotogramma sullo schermo.

Se l'applicazione simula l'effetto dell'utente che passa attraverso una scena ad alta velocità, può aggiungere sfocatura del movimento all'intera scena. In questo caso, l'applicazione esegue il rendering dell'intera scena più volte per fotogramma. Ogni volta che viene eseguito il rendering della scena, l'applicazione deve spostare leggermente il punto di vista. Se la scena è estremamente complessa, l'utente potrebbe visualizzare una riduzione delle prestazioni visibile man mano che l'accelerazione aumenta a causa del numero crescente di rendering della scena per fotogramma.

Antialias