Export (0) Print
Expand All

D3D11_BLEND_DESC1 structure

Note  This structure is supported by the Direct3D 11.1 runtime, which is available on Windows 8 and later operating systems.

Describes the blend state that you use in a call to ID3D11Device1::CreateBlendState1 to create a blend-state object.

Syntax


typedef struct _D3D11_BLEND_DESC1 {
  BOOL                            AlphaToCoverageEnable;
  BOOL                            IndependentBlendEnable;
  D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;

Members

AlphaToCoverageEnable

Type: BOOL

Specifies whether to use alpha-to-coverage as a multisampling technique when setting a pixel to a render target. For more info about using alpha-to-coverage, see Alpha-To-Coverage.

IndependentBlendEnable

Type: BOOL

Specifies whether to enable independent blending in simultaneous render targets. Set to TRUE to enable independent blending. If set to FALSE, only the RenderTarget[0] members are used; RenderTarget[1..7] are ignored.

RenderTarget

Type: D3D11_RENDER_TARGET_BLEND_DESC1

An array of D3D11_RENDER_TARGET_BLEND_DESC1 structures that describe the blend states for render targets; these correspond to the eight render targets that can be bound to the output-merger stage at one time.

Remarks

Here are the default values for blend state.

StateDefault Value
AlphaToCoverageEnableFALSE
IndependentBlendEnableFALSE
RenderTarget[0].BlendEnableFALSE
RenderTarget[0].LogicOpEnableFALSE
RenderTarget[0].SrcBlendD3D11_BLEND_ONE
RenderTarget[0].DestBlendD3D11_BLEND_ZERO
RenderTarget[0].BlendOpD3D11_BLEND_OP_ADD
RenderTarget[0].SrcBlendAlphaD3D11_BLEND_ONE
RenderTarget[0].DestBlendAlphaD3D11_BLEND_ZERO
RenderTarget[0].BlendOpAlphaD3D11_BLEND_OP_ADD
RenderTarget[0].LogicOpD3D11_LOGIC_OP_NOOP
RenderTarget[0].RenderTargetWriteMaskD3D11_COLOR_WRITE_ENABLE_ALL

 

If the driver type is set to D3D_DRIVER_TYPE_HARDWARE, the feature level is set to less than or equal to D3D_FEATURE_LEVEL_9_3, and the pixel format of the render target is set to DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, or DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, the display device performs the blend in standard RGB (sRGB) space and not in linear space. However, if the feature level is set to greater than D3D_FEATURE_LEVEL_9_3, the display device performs the blend in linear space, which is ideal.

When you set the LogicOpEnable member of the first element of the RenderTarget array (RenderTarget[0]) to TRUE, you must also set the BlendEnable member of RenderTarget[0] to FALSE, and the IndependentBlendEnable member of this D3D11_BLEND_DESC1 to FALSE. This reflects the limitation in hardware that you can't mix logic operations with blending across multiple render targets, and that when you use a logic operation, you must apply the same logic operation to all render targets.

Requirements

Minimum supported client

Windows 8 and Platform Update for Windows 7 [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2012 and Platform Update for Windows Server 2008 R2 [desktop apps | Windows Store apps]

Header

D3D11_1.h

See also

ID3D11BlendState1::GetDesc1
D3D11_RENDER_TARGET_BLEND_DESC1

 

 

Community Additions

ADD
Show:
© 2014 Microsoft