DXGI_SWAP_CHAIN_DESC1構造体 (dxgi1_2.h)

スワップ チェーンについて説明します。

構文

typedef struct DXGI_SWAP_CHAIN_DESC1 {
  UINT             Width;
  UINT             Height;
  DXGI_FORMAT      Format;
  BOOL             Stereo;
  DXGI_SAMPLE_DESC SampleDesc;
  DXGI_USAGE       BufferUsage;
  UINT             BufferCount;
  DXGI_SCALING     Scaling;
  DXGI_SWAP_EFFECT SwapEffect;
  DXGI_ALPHA_MODE  AlphaMode;
  UINT             Flags;
} DXGI_SWAP_CHAIN_DESC1;

メンバー

Width

解像度の幅を表す 値。 IDXGIFactory2::CreateSwapChainForHwnd メソッドを呼び出してスワップ チェーンを作成するときに幅を 0 に指定すると、ランタイムは出力ウィンドウから幅を取得し、この幅の値をスワップ チェーンの説明に割り当てます。 その後、 IDXGISwapChain1::GetDesc1 メソッドを呼び出して、割り当てられた幅の値を取得できます。 IDXGIFactory2::CreateSwapChainForComposition メソッドを呼び出すときに、幅をゼロとして指定することはできません。

Height

解像度の高さを表す値。 IDXGIFactory2::CreateSwapChainForHwnd メソッドを呼び出してスワップ チェーンを作成するときに高さをゼロとして指定すると、ランタイムは出力ウィンドウから高さを取得し、この高さの値をスワップ チェーンの説明に割り当てます。 その後、 IDXGISwapChain1::GetDesc1 メソッドを呼び出して、割り当てられた高さの値を取得できます。 IDXGIFactory2::CreateSwapChainForComposition メソッドを呼び出すときに、高さをゼロとして指定することはできません。

Format

表示形式を記述する DXGI_FORMAT 構造体。

Stereo

全画面表示モードまたはスワップ チェーン バック バッファーがステレオかどうかを指定します。 ステレオの場合は TRUE。それ以外の場合は FALSE。 ステレオを指定する場合は、フリップ モデル スワップ チェーン (つまり、swapEffect メンバーにDXGI_SWAP_EFFECT_FLIP_SEQUENTIAL値が設定されているスワップ チェーン) も指定する必要があります。

SampleDesc

マルチサンプリング パラメーターを記述する DXGI_SAMPLE_DESC 構造体。 このメンバーは、ビット ブロック転送 (ビットblt) モデル スワップ チェーンでのみ有効です。

BufferUsage

バック バッファーのサーフェス使用量と CPU アクセス オプションを記述するDXGI_USAGE型指定の値。 バック バッファーは、シェーダー入力またはレンダー ターゲット出力に使用できます。

BufferCount

スワップ チェーン内のバッファーの数を表す 値。 全画面表示スワップ チェーンを作成するときは、通常、この値にフロント バッファーを含めます。

Scaling

バック バッファーのサイズがターゲット出力と等しくない場合にサイズ変更の動作を識別する、 DXGI_SCALING型指定された値。

SwapEffect

スワップ チェーンで使用されるプレゼンテーション モデルと、サーフェスを表示した後にプレゼンテーション バッファーの内容を処理するためのオプションを記述する、 DXGI_SWAP_EFFECT型指定された値。 IDXGIFactory2::CreateSwapChainForComposition メソッドを呼び出すときには、DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL値を指定する必要があります。これは、このメソッドでは反転プレゼンテーション モデルのみがサポートされるためです。

AlphaMode

スワップ チェーン バック バッファーの透過性の動作を識別する、 DXGI_ALPHA_MODE型指定された値。

Flags

ビットごとの OR 演算を使用して結合される DXGI_SWAP_CHAIN_FLAG型指定された値の組み合わせ。 結果の値は、スワップ チェーン動作のオプションを指定します。

注釈

この構造体は、 CreateSwapChainForHwndCreateSwapChainForCoreWindowCreateSwapChainForCompositionCreateSwapChainForCompositionSurfaceHandleおよび GetDesc1 メソッドによって使用されます。

メモDXGI_SWAP_CHAIN_DESC1をDXGI_SWAP_CHAIN_DESCにキャストすることはできません。その逆も可能です。 アプリケーションでは、新しいバージョンのスワップ チェーン記述構造を取得するために 、IDXGISwapChain1::GetDesc1 メソッドを明示的に使用する必要があります。
 
全画面表示モードでは、専用のフロント バッファーがあります。ウィンドウ モードでは、デスクトップはフロント バッファーです。

flip-model スワップ チェーン (つまり、SwapEffect メンバーにDXGI_SWAP_EFFECT_FLIP_DISCARDまたはDXGI_SWAP_EFFECT_FLIP_SEQUENTIAL値が設定されているスワップ チェーン) の場合は、Format メンバーを DXGI_FORMAT_R16G16B16A16_FLOATDXGI_FORMAT_B8G8R8A8_UNORMDXGI_FORMAT_R8G8B8A8_UNORM、または DXGI_FORMAT_R10G10B10A10_UNORM に設定する必要があります。SampleDesc メンバーが指定するDXGI_SAMPLE_DESC構造体の Count メンバーを 1 に設定し、複数のサンプルアンチエイリアシング (MSAA) がサポートされていないため、DXGI_SAMPLE_DESCQuality メンバーを 0 に設定する必要があります。BufferCount メンバーを 2 から 16 に設定する必要があります。 フリップ モデル スワップ チェーンの詳細については、「DXGI Flip Model」を参照してください。

要件

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

こちらもご覧ください

DXGI 構造体

IDXGISwapChain1::GetDesc1