'D3DRS_SEPARATEDESTALPHAENABLE':未声明的标识符 - 即使它在DirectX评论中提到过?

时间:2009-07-28 05:12:30

标签: c++ graphics directx hlsl

在_D3DRENDERSTATETYPE结构的d3d9types.h中,最后3种类型是:

D3DRS_SRCBLENDALPHA             = 207,  /* SRC blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */
D3DRS_DESTBLENDALPHA            = 208,  /* DST blend factor for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */
D3DRS_BLENDOPALPHA              = 209,  /* Blending operation for the alpha channel when D3DRS_SEPARATEDESTALPHAENABLE is TRUE */

注意它提到如果'D3DRS_SEPARATEDESTALPHAENABLE为TRUE'将使用这些,但结构中没有任何D3DRS_SEPARATEDESTALPHAENABLE。最接近的似乎是:“D3DRS_SEPARATEALPHABLENDENABLE”,但我不确定这是否是同样的事情。

所以我只是想知道最后三个渲染器应该设置为什么才能实际工作(如果有的话)?我强烈认为它是D3DRS_SEPARATEALPHABLENDENABLE但是想要有人请确认?

1 个答案:

答案 0 :(得分:2)

是的,D3DRS_SEPARATEALPHABLENDENABLE。在评论中看起来像一个拼写错误。

来自DXSDK:

  

D3DRS_SRCBLENDALPHA

     

枚举D3DBLEND的一名成员   类型。除非,否则忽略该值   D3DRS_SEPARATEALPHABLENDENABLE是   真正。默认值为   D3DBLEND_ONE。

     

D3DRS_DESTBLENDALPHA

     

枚举D3DBLEND的一名成员   类型。除非,否则忽略该值   D3DRS_SEPARATEALPHABLENDENABLE是   真正。默认值为   D3DBLEND_ZERO。

     

D3DRS_BLENDOPALPHA

     

用于选择算术的值   操作适用于单独的alpha   渲染状态时混合,   D3DRS_SEPARATEALPHABLENDENABLE已设置   为真。

     

有效值由。定义   D3DBLENDOP枚举类型。该   默认值为D3DBLENDOP_ADD。如果   D3DPMISCCAPS_BLENDOP设备   那么,不支持功能   执行D3DBLENDOP_ADD。看到   D3DPMISCCAPS。