D3DBLEND 枚举

定义支持的混合模式。

语法

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

混合因子 (0、0、0、0) 。

D3DBLEND_ONE

混合因子 (为 1、1、1、1) 。

D3DBLEND_SRCCOLOR

混合因子为 (Rs、Gs、Bs、As) 。

D3DBLEND_INVSRCCOLOR

混合因子 (为 1 - Rs、1 - Gs、1 - Bs、1 - as) 。

D3DBLEND_SRCALPHA

混合因子 (As、As、As、As) 。

D3DBLEND_INVSRCALPHA

混合因子 ( 1 - As、1 - As、1 - As、1 - As) 。

D3DBLEND_DESTALPHA

混合因子 (Ad A d Ad Ad) 。

D3DBLEND_INVDESTALPHA

混合因子 (1 - Ad 1 - Ad 1 - Ad d 1 - Ad) 。

D3DBLEND_DESTCOLOR

混合因子 (Rd、Gd、Bd、Ad) 。

D3DBLEND_INVDESTCOLOR

混合因子 (1 - Rd、1 - Gd、1 - Bd、1 - Ad) 。

D3DBLEND_SRCALPHASAT

混合因子为 (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

帧缓冲区混合器使用的常量颜色混合因子。 仅当在 D3DCAPS9SrcBlendCapsDestBlendCaps 成员中设置了D3DPBLENDCAPS_BLENDFACTOR时,才支持此混合模式。

D3DBLEND_INVBLENDFACTOR

帧缓冲区混合器使用的反常量颜色混合因子。 仅当在 D3DCAPS9SrcBlendCapsDestBlendCaps 成员中设置了D3DPBLENDCAPS_BLENDFACTOR位时,才支持此混合模式。

D3DBLEND_SRCCOLOR2

混合因子 (PSOutColor[1]r、PSOutColor[1]g、PSOutColor[1]b,未) 使用。 请参阅 呈现目标混合

Direct3D 9 和 Direct3D 9Ex 之间的差异:

  • 此标志仅在 Direct3D 9Ex 中可用。

 

D3DBLEND_INVSRCCOLOR2

混合因子 (1 - PSOutColor[1]r,1 - PSOutColor[1]g,1 - PSOutColor[1]b,not used) ) 。 请参阅 呈现目标混合

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]。 第一种颜色将包含 RGB) (标准 3 种颜色分量。 第二种颜色将包含 3 个 alpha 分量, (第一种颜色) 的每个分量各有一个。

这些新的混合模式仅用于第一个呈现目标上的文本呈现。

要求

要求
标头
D3D9Types.h

另请参阅

Direct3D 枚举