Aracılığıyla paylaş


Hedef Alfa İşleme (Direct3D 9)

Çerçeve arabelleği blender artık işleme hedeflerindeki renk kanalı harmanlamasından bağımsız olarak alfa kanallarını karıştırabilir. Bu denetim, D3DRS_SEPARATEALPHABLENDENABLE yeni bir işleme durumuyla etkinleştirilir.

D3DRS_SEPARATEALPHABLENDENABLE FALSE (varsayılan koşuldur) olarak ayarlandığında, alfaya uygulanan işleme hedefi karıştırma faktörleri ve işlemleri, renk kanallarını karıştırmak için tanımlananlarla aynıdır. Bir sürücünün, render-target alfa karıştırmayı destekleyeebileceğini belirtmek için D3DPMISCCAPS_SEPARATEALPHABLEND üst sınırını ayarlaması gerekir. D3DRS_ALPHABLEND etkinleştirerek işlem hattına alfa harmanlamanın gerekli olduğunu söyleyin.

İşleme hedefi blender'larının alfa kanalındaki faktörleri denetlemek için iki yeni işleme durumu aşağıdaki gibi tanımlanır:

D3DRS_SRCBLENDALPHA 
D3DRS_DESTBLENDALPHA 

D3DRS_SRCBLEND ve D3DRS_DESTBLEND gibi bunlar da D3DBLEND sabit listesindeki değerlerden birine ayarlanabilir. Kaynak ve hedef harmanlama ayarları, D3DCAPS9SrcBlendCaps ve DestBlendCaps üyelerindeki ayarlara bağlı olarak çeşitli şekillerde birleştirilebilir.

Alfa karıştırma aşağıdaki gibi yapılır:

renderTargetAlpha = (* srcBlendOp içinde alfa) BlendOp (alfart * destBlendOp)

Nerede:

  • alfa giriş alfa değeridir.
  • srcBlendOp, D3DBLENDiçindeki karışım faktörlerinden biridir.
  • BlendOp, D3DBLENDOPblend faktörlerinden biridir.
  • alfart, işleme hedefi alfa değeridir.
  • destBlendOp, D3DBLEND'daki karışım faktörlerinden biridir.
  • renderTargetAlpha son harmanlanmış alfa değeridir.

Alpha Blending