D3D11_BLEND_DESC1構造体 (d3d11_1.h)
ブレンド状態オブジェクトを作成するために D3D11Device1::CreateBlendState1 の呼び出しで使用するブレンド状態について説明します。
Note
この構造は、Windows 8 以降のオペレーティング システムで使用できる Direct3D 11.1 ランタイムでサポートされています。
構文
typedef struct D3D11_BLEND_DESC1 {
BOOL AlphaToCoverageEnable;
BOOL IndependentBlendEnable;
D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[8];
} D3D11_BLEND_DESC1;
メンバー
AlphaToCoverageEnable
種類: BOOL
ピクセルをレンダー ターゲットに設定するときに、マルチサンプリング手法としてアルファ対カバレッジを使用するかどうかを指定します。 アルファ対カバレッジの使用の詳細については、「 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 構造体の配列。これらは、一度に 出力マージャー ステージ にバインドできる 8 つのレンダー ターゲットに対応します。
解説
ブレンド状態の既定値を次に示します。
State | Default value |
---|---|
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 メンバー (RenderTarget[0]) を TRUE に設定する場合は、RenderTarget[0] の BlendEnable メンバーを FALSE に設定し、このD3D11_BLEND_DESC1の IndependentBlendEnable メンバーを FALSE に設定する必要もあります。 これには、複数のレンダー ターゲット間でロジック操作とブレンドを混在させることはできません。また、ロジック操作を使用する場合は、すべてのレンダー ターゲットに同じロジック操作を適用する必要があるというハードウェアの制限が反映されています。
要件
サポートされている最小のクライアント | Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
Header | d3d11_1.h |