Questo sito non è in nessun modo collegato a Microsoft.
I punti di vista ed i commenti inseriti nei blog degli utenti sono personali e non necessariamente coincidenti con i nostri.
La nostra direzione non è responsabile per il contenuto di siti internet esterni.
10.2. Dissolvenza incrociata (cross-fading)
Posted Ven, 16/04/2010 - 18:00 by Koder4Fun
5
Il tuo voto: NessunoMedia: 5(1 vote)
Questo effetto prevede che in ingresso siano presenti due immagini, una sorgente ed una destinazione; il mix tra queste immagini è controllato, esattamente come per l'effetto precedente, dalla funzione lerp.
1 // Sampler delle immagini sorgente e destinazione 2 sampler2D sourceSampler; 3 sampler2D destSampler; 4 5 // Posizione della transizione 0.0 ... 1.0 6 uniform float transition; 7 8 float4ps_main(float2 TexCoords :TEXCOORD0) :COLOR0 9 { 10 // Recupero le informazioni dai render-targets per il pixel corrente 11 float4 srcColor =tex2D(sourceSampler, TexCoords); 12 float4 destColor =tex2D(destSampler, TexCoords); 13 14 // Interpolazione tra le due immagini 15 returnlerp(srcColor, destColor, transition); 16 }
Visualizzazione dell'effetto:
Data la sua natura non sempre è possibile continuare a renderizzare entrambe le scene, visualizzate durante l'effetto, ottenendo simultaneamente anche due animazioni indipendenti per la complessità e la pesantezza che ne deriverebbero. In questi casi si sceglie di animare la scena che verrà visualizzata nella texture destinazione e lasciare la texture sorgente invariata.