DX11 Alpha Blend对象绘制渲染目标

时间:2014-04-01 12:24:03

标签: c++ 3d directx directx-11 alphablending

我的问题是:

我无法正确地将Alpha Blend对象绘制到渲染目标中,

我在dx9上有一些经验,但在dx11没有,所以不知道我在dx11中想念的是什么。

请关注图片......

创建渲染目标时,必须在dx 11中设置任何标志?或添加任何代码混合或.. 我不知道我错过了什么。

感谢。

1 个答案:

答案 0 :(得分:0)

结帐ID3D11Device::CreateBlendState。对于保留alpha的标准Alpha混合,请使用以下参数:

AlphaToCoverageEnable = FALSE;
IndependentBlendEnable = FALSE;
BlendEnable[0] = TRUE;
SrcBlend[0] = D3D11_BLEND_SRC_ALPHA;
DestBlend[0] = D3D11_BLEND_INV_SRC_ALPHA;
BlendOp[0] = D3D11_BLEND_OP_ADD;
SrcBlendAlpha[0] = D3D11_BLEND_ONE;
DestBlendAlpha[0] = D3D11_BLEND_INV_SRC_ALPHA;
BlendOpAlpha[0] = D3D11_BLEND_OP_ADD;
RenderTargetWriteMask[0] = D3D11_COLOR_WRITE_ENABLE_ALL;

不要忘记致电ID3D11DeviceContext::OMSetBlendState