Fusione di trame alfa (Direct3D 9)
Il motore di illuminazione combina il colore del materiale, il colore dei vertici e le informazioni di illuminazione per generare un colore per vertice. Dopo l'interpolazione, viene generato un colore per pixel scritto nel buffer dei fotogrammi. Se un'applicazione abilita la fusione delle trame, il colore del pixel diventerà una combinazione del pixel corrente nel buffer dei fotogrammi e di un colore di trama.
Questa formula determina il colore pixel combinato finale:
Color = TexelColor x SourceBlend + CurrentPixelColor x DestBlend
Dove:
- Il colore è il colore del pixel di output.
- TexelColor è il colore di input dopo il filtro delle trame.
- SourceBlend è la percentuale del colore del pixel finale costituito dal colore del texel di origine.
- CurrentPixelColor è il colore del pixel corrente.
- DestBlend è la percentuale del colore del pixel finale costituito dal colore del pixel corrente.
L'equazione di fusione finale viene impostata chiamando IDirect3DDevice9::SetRenderState e specificando lo stato di rendering della fusione (D3DRS_BLENDXXX) con un fattore di fusione corrispondente (D3DBLEND). I valori di SourceBlend e DestBlend sono compresi tra 0,0 (trasparente) e 1,0 (opaco). Inoltre, un'applicazione può controllare la trasparenza di un pixel impostando il valore alfa in una trama. In questo caso, usare quanto segue:
SourceBlend = D3DBLEND_ZERO
DestBlend = D3DBLEND_ONE
L'equazione di fusione causerà la trasparenza del pixel sottoposto a rendering. I valori predefiniti sono:
SourceBlend = D3DBLEND_SRCALPHA
DestBlend = D3DBLEND_INVSRCALPHA
Argomenti correlati