Condividi tramite


Dissolvenza, dissolvenza e scorrimento rapido (Direct3D 9)

Sempre più spesso, le applicazioni usano effetti speciali comunemente usati in film e video, ad esempio dissolvenze, scorrimenti e dissolvenze.

In una dissolvenza, un'immagine viene gradualmente sostituita da un'altra in una sequenza uniforme di fotogrammi. Anche se Direct3D fornisce metodi di utilizzo della fusione di più trame per ottenere lo stesso effetto, le applicazioni che usano il buffer degli stencil per le dissolvenze possono usare funzionalità di fusione delle trame per altri effetti mentre eseguono una dissolvenza.

Quando l'applicazione esegue una dissolvenza, deve eseguire il rendering di due immagini diverse. Usa il buffer degli stencil per controllare quali pixel di ogni immagine vengono disegnati nella superficie di destinazione del rendering. È possibile definire una serie di maschere stencil e copiarle nel buffer degli stencil nei fotogrammi successivi. In alternativa, è possibile definire una maschera di stencil di base per il primo fotogramma e modificarla in modo incrementale.

All'inizio della dissolvenza, l'applicazione imposta la funzione stencil e la maschera stencil in modo che la maggior parte dei pixel dell'immagine iniziale superi il test degli stencil. La maggior parte dei pixel dell'immagine finale dovrebbe non riuscire il test dello stencil. Nei fotogrammi successivi, la maschera stencil viene aggiornata in modo che meno e meno pixel nell'immagine iniziale superino il test. Man mano che i fotogrammi avanzano, un numero minore e minore di pixel nell'immagine finale non supera il test. In questo modo, l'applicazione può eseguire una dissolvenza usando qualsiasi modello di dissolvenza arbitrario.

Dissolvenza in o dissolvenza è un caso speciale di dissolvenza. In caso di dissolvenza, il buffer degli stencil viene usato per dissolversi da un'immagine nera o bianca a un rendering di una scena 3D. La dissolvenza in uscita è l'opposto, l'applicazione inizia con un rendering di una scena 3D e si dissolve in bianco o nero. La dissolvenza può essere eseguita usando qualsiasi modello arbitrario che si vuole usare.

Le applicazioni Direct3D usano una tecnica simile per gli scorrimenti rapido. Ad esempio, quando un'applicazione esegue uno scorrimento rapido da sinistra a destra, l'immagine finale viene visualizzata gradualmente sopra l'immagine iniziale da sinistra a destra. Come in una dissolvenza, è necessario definire una serie di maschere stencil caricate nel buffer degli stencil in fotogrammi successivi o modificare successivamente la maschera dello stencil iniziale. Le maschere degli stencil vengono usate per disabilitare la scrittura di pixel dall'immagine iniziale e per abilitare la scrittura di pixel dall'immagine finale.

Uno scorrimento rapido è un po 'più complesso di una dissolvenza in quanto l'applicazione deve leggere i pixel dall'immagine finale nell'ordine inverso dello scorrimento rapido. Ovvero, se lo scorrimento rapido passa da sinistra a destra, l'applicazione deve leggere i pixel dall'immagine finale da destra a sinistra.

tecniche di buffer stencil