在_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 is TRUE‘将使用这些参数,但是在结构中没有D3DRS_SEPARATEDESTALPHAENABLE。最接近的似乎是:"D3DRS_SEPARATEALPHABLENDENABLE“,但我一点也不确定这是不是一回事。
所以我想知道最后三个渲染状态应该设置为true才能真正工作(如果有的话),我强烈认为它是D3DRS_SEPARATEALPHABLENDENABLE,但希望有人能确认一下?
发布于 2009-07-28 06:26:39
是啊,D3DRS_SEPARATEALPHABLENDENABLE。看起来像是评论中的打字错误。
在DXSDK中:
D3DRS_SRCBLENDALPHA
D3DBLEND枚举类型的一个成员。除非D3DRS_SEPARATEALPHABLENDENABLE为true,否则将忽略此值。默认值为D3DBLEND_ONE。
D3DRS_DESTBLENDALPHA
D3DBLEND枚举类型的一个成员。除非D3DRS_SEPARATEALPHABLENDENABLE为true,否则将忽略此值。默认值为D3DBLEND_ZERO。
D3DRS_BLENDOPALPHA
当渲染状态D3DRS_SEPARATEALPHABLENDENABLE设置为TRUE时,用于选择应用于分离alpha混合的算术运算的值。
有效值由D3DBLENDOP枚举类型定义。默认值为D3DBLENDOP_ADD。如果不支持D3DPMISCCAPS_BLENDOP设备功能,则执行D3DBLENDOP_ADD。参见D3DPMISCCAPS。
https://stackoverflow.com/questions/1192032
复制相似问题