\\ Home : Articoli : Stampa
Dissolvenza in alphablending
Di RobyDx (del 04/08/2007 @ 09:09:34, in DirectX9, linkato 1332 volte)

Se dovete far diventare un oggetto gradatamente trasparente non c'è molto da fare: basta impostare l'alphablending con queste opzioni

device.RenderState.AlphaBlendEnable = True
device.RenderState.SourceBlend = Blend.SourceAlpha
device.RenderState.DestinationBlend = Blend.InvSourceAlpha
device.TextureState(0).AlphaArgument1 = TextureArgument.TFactor
device.RenderState.TextureFactor = Color.FromArgb(alpha, 255, 255, 255).ToArgb

Cambiando il colore nell'opzione TextureFactor potrete far virare il colore ed in particolare modificando il valore alpha del colore potrete deciderne il grado di trasparenza. Per tornare alla normalità impostare  l'alphaArgument a Diffuse. Nota fondamentale: come dovreste aver capito gli effetti di alphablending funzionano solo se gli oggetti vengono renderizzati in ordine dal più lontano al più vicino. Se invece l'oggetto più vicino verrà renderizzato prima di quello che gli sta dietro l'effetto non funzionerà.