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.
İlgili konular