D3D11_BLEND_DESC1 結構 (d3d11_1.h)
描述您在 呼叫 D3D11Device1::CreateBlendState1 時用來建立混合狀態物件的混合狀態。
注意
Direct3D 11.1 執行時間支援此結構,可在 Windows 8 和更新版本的作業系統上使用。
語法
typedef struct D3D11_BLEND_DESC1 {
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;
成員
AlphaToCoverageEnable
類型: BOOL
指定將圖元設定為轉譯目標時,是否要使用 Alpha 到涵蓋範圍做為多重取樣技術。 如需使用 Alpha 到涵蓋範圍的詳細資訊,請參閱 Alpha-To-Coverage。
IndependentBlendEnable
類型: BOOL
指定是否要在同時轉譯目標中啟用獨立混合。 設定為 TRUE 以啟用獨立混合。 如果設定為 FALSE,則只會使用 RenderTarget[0] 成員; 會忽略 RenderTarget[1..7]。
如需限制 ,請參閱 一節。
RenderTarget[8]
類型: D3D11_RENDER_TARGET_BLEND_DESC1[8]
描述轉譯目標混合狀態的 D3D11_RENDER_TARGET_BLEND_DESC1 結構陣列;這些對應至一次可以系結至 輸出合併階段 的八個轉譯目標。
備註
以下是混合狀態的預設值。
狀態 | 預設值 |
---|---|
AlphaToCoverageEnable | FALSE |
IndependentBlendEnable | FALSE |
RenderTarget[0]。BlendEnable | FALSE |
RenderTarget[0]。LogicOpEnable | FALSE |
RenderTarget[0]。SrcBlend | D3D11_BLEND_ONE |
RenderTarget[0]。DestBlend | D3D11_BLEND_ZERO |
RenderTarget[0]。BlendOp | D3D11_BLEND_OP_ADD |
RenderTarget[0]。SrcBlendAlpha | D3D11_BLEND_ONE |
RenderTarget[0]。DestBlendAlpha | D3D11_BLEND_ZERO |
RenderTarget[0]。BlendOpAlpha | D3D11_BLEND_OP_ADD |
RenderTarget[0]。LogicOp | D3D11_LOGIC_OP_NOOP |
RenderTarget[0]。RenderTargetWriteMask | D3D11_COLOR_WRITE_ENABLE_ALL |
如果驅動程式類型設定為 D3D_DRIVER_TYPE_HARDWARE,功能層級會設定為小於或等於 D3D_FEATURE_LEVEL_9_3,而轉譯目標的像素格式會設定為 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB、 DXGI_FORMAT_B8G8R8A8_UNORM_SRGB或 DXGI_FORMAT_B8G8R8X8_UNORM_SRGB,則顯示裝置會以標準 RGB (sRGB) 空間執行混合,而不是線上性空間中。 不過,如果功能層級設定為大於 D3D_FEATURE_LEVEL_9_3,則顯示裝置會線上性空間中執行混合,這很理想。
當您將 RenderTarget 陣列第一個專案的LogicOpEnable成員設定為 TRUE (RenderTarget[0]) 時,您也必須將RenderTarget[0] 的BlendEnable成員設定為FALSE,並將這個D3D11_BLEND_DESC1的IndependentBlendEnable成員設定為FALSE。 這反映硬體的限制,您無法將邏輯作業混合在多個轉譯目標之間,而且當您使用邏輯作業時,必須將相同的邏輯作業套用至所有轉譯目標。
規格需求
最低支援的用戶端 | 適用于 Windows 7 的 Windows 8 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | 適用于 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
標頭 | d3d11_1.h |