D3DBLEND 列舉
定義支援的混合模式。
Syntax
typedef enum D3DBLEND {
D3DBLEND_ZERO = 1,
D3DBLEND_ONE = 2,
D3DBLEND_SRCCOLOR = 3,
D3DBLEND_INVSRCCOLOR = 4,
D3DBLEND_SRCALPHA = 5,
D3DBLEND_INVSRCALPHA = 6,
D3DBLEND_DESTALPHA = 7,
D3DBLEND_INVDESTALPHA = 8,
D3DBLEND_DESTCOLOR = 9,
D3DBLEND_INVDESTCOLOR = 10,
D3DBLEND_SRCALPHASAT = 11,
D3DBLEND_BOTHSRCALPHA = 12,
D3DBLEND_BOTHINVSRCALPHA = 13,
D3DBLEND_BLENDFACTOR = 14,
D3DBLEND_INVBLENDFACTOR = 15,
D3DBLEND_SRCCOLOR2 = 16,
D3DBLEND_INVSRCCOLOR2 = 17,
D3DBLEND_FORCE_DWORD = 0x7fffffff
} D3DBLEND, *LPD3DBLEND;
常數
-
D3DBLEND_ZERO
-
Blend Factor (0、0、0、0) 。
-
D3DBLEND_ONE
-
Blend Factor (1、1、1、1) 。
-
D3DBLEND_SRCCOLOR
-
Blend Factor (Rs、Gs、Bs、As) 。
-
D3DBLEND_INVSRCCOLOR
-
Blend Factor (1 - Rs,1 - Gs,1 - Bs, 1 - As) 。
-
D3DBLEND_SRCALPHA
-
Blend Factor (As、As、As、As) 。
-
D3DBLEND_INVSRCALPHA
-
Blend Factor ( 1 - As, 1 - As, 1 - As, 1 - As, 1 - As) 。
-
D3DBLEND_DESTALPHA
-
混合因數 (Ad Ad Ad) 。
-
D3DBLEND_INVDESTALPHA
-
Blend Factor (1 - Ad 1 - Ad 1 - Ad 1 - Ad) 。
-
D3DBLEND_DESTCOLOR
-
Blend factor 是 (Rd、Gd、Bd、Ad) 。
-
D3DBLEND_INVDESTCOLOR
-
Blend Factor (1 - R d, 1 - Gd, 1 - Bd, 1 - Ad) 。
-
D3DBLEND_SRCALPHASAT
-
Blend Factor 是 (f、f、f、1) ;其中 f = min (As, 1 - Ad) 。
-
D3DBLEND_BOTHSRCALPHA
-
過時。 從 DirectX 6 開始,您可以將來源和目的地混合因數設定為在不同的呼叫中D3DBLEND_SRCALPHA和D3DBLEND_INVSRCALPHA,以達到相同的效果。
-
D3DBLEND_BOTHINVSRCALPHA
-
過時。 來源混合因數 (1 - As、1 - As、1 - As、1 - As) ,而目的地混合因數 (As、As、As、As) ;會覆寫目的地混合選取範圍。 此混合模式僅支援D3DRS_SRCBLEND轉譯狀態。
-
D3DBLEND_BLENDFACTOR
-
框架緩衝區混合器所使用的常數色彩混合因數。 只有在SrcBlendCaps或D3DCAPS9的DestBlendCaps成員中設定D3DPBLENDCAPS_BLENDFACTOR時,才支援此混合模式。
-
D3DBLEND_INVBLENDFACTOR
-
畫面緩衝區混合器所使用的反轉常色混合因數。 只有在SrcBlendCaps或D3DCAPS9的DestBlendCaps成員中設定D3DPBLENDCAPS_BLENDFACTOR位時,才支援此混合模式。
-
D3DBLEND_SRCCOLOR2
-
Blend Factor (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, not used) 。 請參閱 轉譯目標混合。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
- 此旗標僅適用于 Direct3D 9Ex。
-
D3DBLEND_INVSRCCOLOR2
-
Blend Factor (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, 未使用) ) 。 請參閱 轉譯目標混合。
Direct3D 9 與 Direct3D 9Ex 之間的差異:
- 此旗標僅適用于 Direct3D 9Ex。
-
D3DBLEND_FORCE_DWORD
-
強制此列舉的大小編譯為 32 位。 如果沒有這個值,某些編譯器會允許此列舉編譯成 32 位以外的大小。 不使用這個值。
備註
在上述成員描述中,來源和目的地的 RGBA 值會以 s 和 d 注標表示。
此列舉型別中的值會由下列轉譯狀態使用:
- D3DRS_DESTBLEND
- D3DRS_SRCBLEND
- D3DRS_DESTBLENDALPHA
- D3DRS_SRCBLENDALPHA
轉譯目標混合
Direct3D 9Ex 已改善文字轉譯功能。 轉譯純文字字型通常需要兩次傳遞。 為了消除第二個階段,可以使用圖元著色器來輸出兩種色彩,我們可以呼叫 PSOutColor[0] 和 PSOutColor[1]。 第一個色彩會包含標準 3 色彩元件, (RGB) 。 第二個色彩會包含 3 個 Alpha 元件, (第一個色彩的每個元件) 。
這些新的混合模式僅用於第一個轉譯目標上的文字轉譯。
規格需求
需求 | 值 |
---|---|
標頭 |
|
另請參閱