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 |