Condividi tramite


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