Render cél alfa (Direct3D 9)
A keretpuffer-keverő mostantól a renderelési célok színcsatorna-keverésétől független alfa csatornákat is elegyíthet. Ez a vezérlő új renderelési állapottal van engedélyezve, D3DRS_SEPARATEALPHABLENDENABLE.
Ha D3DRS_SEPARATEALPHABLENDENABLE a FALSE (ez az alapértelmezett feltétel) van beállítva, a render-cél keverési tényezői és az alfa-ra alkalmazott műveletek megegyeznek a színcsatornák keveréséhez definiáltakkal. Az illesztőnek be kell állítania a D3DPMISCCAPS_SEPARATEALPHABLEND kupakot, hogy jelezze, hogy támogatja a render-cél alfa keverését. Mindenképpen engedélyezze a D3DRS_ALPHABLEND, hogy jelezhesse a folyamatnak, hogy alfa-keverésre van szükség.
A renderelt célkeverők alfa csatornájának tényezőinek szabályozásához két új renderelési állapotot határozunk meg az alábbiak szerint:
D3DRS_SRCBLENDALPHA
D3DRS_DESTBLENDALPHA
A D3DRS_SRCBLEND és a D3DRS_DESTBLEND hasonlóan ezek is a D3DBLEND számbavétel egyik értékére állíthatók be. A forrás- és célkonvertálási beállítások többféleképpen kombinálhatók a D3DCAPS9SrcBlendCaps és DestBlendCaps tagjainak beállításaitól függően.
Az alfa-keverés a következőképpen történik:
renderTargetAlpha = (alfa * srcBlendOp) BlendOp (alfart * destBlendOp)
Hol:
- alfa a bemeneti alfaérték.
- Az srcBlendOp a D3DBLENDegyik keverési tényezője.
- A BlendOp a D3DBLENDOPegyik keverési tényezője.
- alfart a renderelési cél alfaértéke.
- A destBlendOp a D3DBLENDegyik keverési tényezője.
- a renderTargetAlpha a végső kevert alfaérték.
Kapcsolódó témakörök