Rendera mål alfa (Direct3D 9)
Rambuffertblandaren kan nu blanda alfakanaler oberoende av färgkanalsblandning på återgivningsmål. Den här kontrollen är aktiverad med ett nytt återgivningstillstånd, D3DRS_SEPARATEALPHABLENDENABLE.
När D3DRS_SEPARATEALPHABLENDENABLE är inställt på FALSE- (vilket är standardvillkoret) är blandningsfaktorerna och åtgärderna för återgivningsmål som tillämpas på alfa desamma som de som definierats för att blanda färgkanaler. En drivrutin måste ange D3DPMISCCAPS_SEPARATEALPHABLEND-gränsen för att indikera att den kan stödja alfablandning med återgivningsmål. Se till att aktivera D3DRS_ALPHABLEND för att tala om för pipelinen att alfablandning behövs.
För att styra faktorerna i alfakanalen för render-målblandarna definieras två nya återgivningstillstånd på följande sätt:
D3DRS_SRCBLENDALPHA
D3DRS_DESTBLENDALPHA
Precis som D3DRS_SRCBLEND och D3DRS_DESTBLEND kan dessa anges till ett av värdena i D3DBLEND uppräkning. Inställningar för käll- och målblandning kan kombineras på flera sätt, beroende på inställningarna i SrcBlendCaps- och DestBlendCaps-medlemmarna i D3DCAPS9.
Alfablandningen görs på följande sätt:
renderTargetAlpha = (alfai * srcBlendOp) BlendOp (alfart * destBlendOp)
Var:
- alphai är indata alfa-värdet.
- srcBlendOp är en av blandningsfaktorerna i D3DBLEND.
- BlendOp är en av blandningsfaktorerna i D3DBLENDOP.
- alphart är alfavärdet render-target.
- destBlendOp är en av blandningsfaktorerna i D3DBLEND.
- renderTargetAlpha är det slutliga blandade alfavärdet.
Relaterade ämnen