Megosztás a következőn keresztül:


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.

Alpha Blending