共用方式為


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

框架緩衝區混合器所使用的常數色彩混合因數。 只有在SrcBlendCapsD3DCAPS9DestBlendCaps成員中設定D3DPBLENDCAPS_BLENDFACTOR時,才支援此混合模式。

D3DBLEND_INVBLENDFACTOR

畫面緩衝區混合器所使用的反轉常色混合因數。 只有在SrcBlendCapsD3DCAPS9DestBlendCaps成員中設定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

請參閱D3DRENDERSTATETYPE

轉譯目標混合

Direct3D 9Ex 已改善文字轉譯功能。 轉譯純文字字型通常需要兩次傳遞。 為了消除第二個階段,可以使用圖元著色器來輸出兩種色彩,我們可以呼叫 PSOutColor[0] 和 PSOutColor[1]。 第一個色彩會包含標準 3 色彩元件, (RGB) 。 第二個色彩會包含 3 個 Alpha 元件, (第一個色彩的每個元件) 。

這些新的混合模式僅用於第一個轉譯目標上的文字轉譯。

規格需求

需求
標頭
D3D9Types.h

另請參閱

Direct3D 列舉