Delen via


Doel alfa weergeven (Direct3D 9)

De framebuffermixer kan nu alfakanalen combineren onafhankelijk van kleurenkanaalmixing op renderdoelen. Dit besturingselement is ingeschakeld met een nieuwe renderstatus, D3DRS_SEPARATEALPHABLENDENABLE.

Wanneer D3DRS_SEPARATEALPHABLENDENABLE is ingesteld op FALSE- (de standaardvoorwaarde), zijn de render-doelmengingsfactoren en bewerkingen die op alfa worden toegepast, hetzelfde als de bewerkingen die zijn gedefinieerd voor het mengen van kleurkanalen. Een stuurprogramma moet de D3DPMISCCAPS_SEPARATEALPHABLEND cap instellen om aan te geven dat het render-target alpha blending kan ondersteunen. Zorg ervoor dat D3DRS_ALPHABLEND de pijplijn laat weten dat alfamenging nodig is.

Om de factoren in het alfakanaal van de render-doelmixers te beheren, worden er als volgt twee nieuwe renderstatussen gedefinieerd:

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

Net als de D3DRS_SRCBLEND en D3DRS_DESTBLEND kunnen deze worden ingesteld op een van de waarden in de opsomming D3DBLEND. De bron- en doelmixinstellingen kunnen op verschillende manieren worden gecombineerd, afhankelijk van de instellingen in de SrcBlendCaps- en DestBlendCaps-leden van D3DCAPS9.

De alfamenging wordt als volgt uitgevoerd:

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

Waar:

  • alfa-in is de alfa-waarde voor invoer.
  • srcBlendOp is een van de mengfactoren in D3DBLEND.
  • BlendOp is een van de blendfactoren in D3DBLENDOP.
  • alfart- is de alfawaarde van het render-doel.
  • destBlendOp is een van de mengfactoren in D3DBLEND.
  • renderTargetAlpha is de uiteindelijke gemengde alfawaarde.

Alpha Blending-