次の方法で共有


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_SRGBDXGI_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_DESC1IndependentBlendEnable メンバーを FALSE に設定する必要もあります。 これには、複数のレンダー ターゲット間でロジック操作とブレンドを混在させることはできません。また、ロジック操作を使用する場合は、すべてのレンダー ターゲットに同じロジック操作を適用する必要があるというハードウェアの制限が反映されています。

要件

   
サポートされている最小のクライアント Windows 8 および Windows 7 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 および Windows Server 2008 R2 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
Header d3d11_1.h

関連項目

コア構造

D3D11_RENDER_TARGET_BLEND_DESC1

ID3D11BlendState1::GetDesc1