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.
Verwante onderwerpen