D3D12_BLEND_DESC 結構 (d3d12.h)

描述混合狀態。

語法

typedef struct D3D12_BLEND_DESC {
  BOOL                           AlphaToCoverageEnable;
  BOOL                           IndependentBlendEnable;
  D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
} D3D12_BLEND_DESC;

成員

AlphaToCoverageEnable

指定將像素設定為轉譯目標時,是否要使用Alpha到涵蓋範圍做為多重取樣技術。 如需使用 Alpha 到涵蓋範圍的詳細資訊,請參閱 Alpha-To-Coverage

IndependentBlendEnable

指定是否要在同時轉譯目標中啟用獨立混合。 設定為 TRUE 以啟用獨立混合。 如果設定為 FALSE,則只會使用 RenderTarget[0] 成員; RenderTarget[1..7] 會被忽略。

如需限制 ,請參閱 一節。

RenderTarget[8]

描述轉譯目標的混合狀態 D3D12_RENDER_TARGET_BLEND_DESC 結構的陣列;這些對應至一次可以系結至 輸出合併階段 的八個轉譯目標。

備註

D3D12_GRAPHICS_PIPELINE_STATE_DESC 物件包含混合狀態結構,可控制輸出合併階段的混合。

以下是混合狀態的預設值。

狀態 預設值
AlphaToCoverageEnable FALSE
IndependentBlendEnable FALSE
RenderTarget[0]。BlendEnable FALSE
RenderTarget[0]。LogicOpEnable FALSE
RenderTarget[0]。SrcBlend D3D12_BLEND_ONE
RenderTarget[0]。DestBlend D3D12_BLEND_ZERO
RenderTarget[0]。BlendOp D3D12_BLEND_OP_ADD
RenderTarget[0]。SrcBlendAlpha D3D12_BLEND_ONE
RenderTarget[0]。DestBlendAlpha D3D12_BLEND_ZERO
RenderTarget[0]。BlendOpAlpha D3D12_BLEND_OP_ADD
RenderTarget[0]。LogicOp D3D12_LOGIC_OP_NOOP
RenderTarget[0]。RenderTargetWriteMask D3D12_COLOR_WRITE_ENABLE_ALL

當您將 RenderTarget 陣列第一個元素的 LogicOpEnable 成員設定為 TRUE (RenderTarget[0]) 時,也必須將 RenderTarget[0] 的 BlendEnable 成員設定為 FALSE,並將這個結構的 IndependentBlendEnable 成員設定為 FALSE。 這反映出您無法將邏輯作業混合在多個轉譯目標之間的硬體限制,而且當您使用邏輯作業時,必須將相同的邏輯作業套用至所有轉譯目標。

請注意協助程序結構, CD3DX12_BLEND_DESC

規格需求

需求
標頭 d3d12.h

另請參閱

核心結構