在_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但是想要有人请确认?
答案 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。