Render Target Alpha (Direct3D 9)

Il frullatore del buffer dei fotogrammi può ora combinare canali alfa indipendenti dalla fusione del canale di colore sulle destinazioni di rendering. Questo controllo è abilitato con un nuovo stato di rendering, D3DRS_SEPARATEALPHABLENDENABLE.

Quando D3DRS_SEPARATEALPHABLENDENABLE è impostato su false (ovvero la condizione predefinita), i fattori e le operazioni di fusione di destinazione di rendering applicati all'alfa sono uguali a quelli definiti per la fusione dei canali di colore. Un driver deve impostare il limite D3DPMISCCAPS_SEPARATEALPHABLEND per indicare che può supportare la fusione alfa di destinazione di rendering. Assicurarsi di abilitare D3DRS_ALPHABLEND per indicare alla pipeline che è necessaria la fusione alfa.

Per controllare i fattori nel canale alfa dei frullatori di destinazione di rendering, vengono definiti due nuovi stati di rendering come segue:

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

Analogamente al D3DRS_SRCBLEND e all'D3DRS_DESTBLEND, questi valori possono essere impostati su uno dei valori nell'enumerazione D3DBLEND. Le impostazioni di fusione di origine e destinazione possono essere combinate in diversi modi, a seconda delle impostazioni nei membri SrcBlendCaps e DestBlendCaps di D3DCAPS9.

La fusione alfa viene eseguita nel modo seguente:

renderTargetAlpha = (alfain * srcBlendOp) BlendOp (alfart * destBlendOp)

Dove:

  • alphain è il valore alfa di input.
  • srcBlendOp è uno dei fattori di fusione in D3DBLEND.
  • BlendOp è uno dei fattori di fusione in D3DBLENDOP.
  • alphart è il valore alfa di destinazione di rendering.
  • destBlendOp è uno dei fattori di fusione in D3DBLEND.
  • renderTargetAlpha è il valore alfa combinato finale.

di fusione alfa