D3D11_BIND_FLAG列挙 (d3d11.h)
リソースをパイプラインにバインドする方法を識別します。
構文
typedef enum D3D11_BIND_FLAG {
D3D11_BIND_VERTEX_BUFFER = 0x1L,
D3D11_BIND_INDEX_BUFFER = 0x2L,
D3D11_BIND_CONSTANT_BUFFER = 0x4L,
D3D11_BIND_SHADER_RESOURCE = 0x8L,
D3D11_BIND_STREAM_OUTPUT = 0x10L,
D3D11_BIND_RENDER_TARGET = 0x20L,
D3D11_BIND_DEPTH_STENCIL = 0x40L,
D3D11_BIND_UNORDERED_ACCESS = 0x80L,
D3D11_BIND_DECODER = 0x200L,
D3D11_BIND_VIDEO_ENCODER = 0x400L
} ;
定数
D3D11_BIND_VERTEX_BUFFER 値: 0x1L バッファーを頂点バッファーとして入力アセンブラー ステージにバインドします。 |
D3D11_BIND_INDEX_BUFFER 値: 0x2L バッファーをインデックス バッファーとして入力アセンブラー ステージにバインドします。 |
D3D11_BIND_CONSTANT_BUFFER 値: 0x4L バッファーを定数バッファーとしてシェーダー ステージにバインドします。このフラグを他のバインド フラグと組み合わせない場合があります。 |
D3D11_BIND_SHADER_RESOURCE 値: 0x8L バッファーまたはテクスチャをシェーダー ステージにバインドする。このフラグは 、D3D11_MAP_WRITE_NO_OVERWRITE フラグと共に使用できません。 メモ Windows 8 以降で使用できる Direct3D 11.1 ランタイムでは、動的定数バッファーと、D3D11_MAP_WRITE_NO_OVERWRITE を使用した動的バッファーのシェーダー リソース ビュー (SRV) のマッピングが可能になります。 Direct3D 11 以前のランタイムでは、頂点バッファーまたはインデックス バッファーへのマッピングが制限されています。 Direct3D デバイスでこれらの機能がサポートされているかどうかを確認するには、 ID3D11Device::CheckFeatureSupport を D3D11_FEATURE_D3D11_OPTIONSで呼び出します。 CheckFeatureSupport は、 D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーにデバイスの機能を入力します。 ここでの関連メンバーは 、MapNoOverwriteOnDynamicConstantBuffer と MapNoOverwriteOnDynamicBufferSRV です。 |
D3D11_BIND_STREAM_OUTPUT 値: 0x10L ストリーム出力ステージの出力バッファーをバインドします。 |
D3D11_BIND_RENDER_TARGET 値: 0x20L 出力合併ステージのレンダー ターゲットとしてテクスチャをバインドします。 |
D3D11_BIND_DEPTH_STENCIL 値: 0x40L 出力合併ステージの深度ステンシル ターゲットとしてテクスチャをバインドします。 |
D3D11_BIND_UNORDERED_ACCESS 値: 0x80L 順序付けられていないアクセス リソースをバインドします。 |
D3D11_BIND_DECODER 値: 0x200L デコーダー API から出力を受信するために 2D テクスチャ が使用されることを示すには、このフラグを設定します。 デコーダー出力のリソースを作成する一般的な方法は、 ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャの配列を作成することです。 ただし、 ID3D11Device::CreateShaderResourceView の呼び出しでは、このフラグで作成されたテクスチャ配列を使用することはできません。 Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。 |
D3D11_BIND_VIDEO_ENCODER 値: 0x400L ビデオ エンコーダー API からの入力を受信するために 2D テクスチャ が使用されることを示すには、このフラグを設定します。 ビデオ エンコーダーのリソースを作成する一般的な方法は、 ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャの配列を作成することです。 ただし、 ID3D11Device::CreateShaderResourceView の呼び出しでは、このフラグで作成されたテクスチャ配列を使用することはできません。 Direct3D 11: この値は、Direct3D 11.1 まではサポートされていません。 |
解説
一般に、バインド フラグは、ビットごとの OR (定数バッファー フラグを除く) を使用して結合できます。ただし、単一のフラグを使用して、デバイスがリソースの使用を最適化できるようにする必要があります。
この列挙は、次の場合に使用されます。
- バッファー作成時のバッファーの説明。
- テクスチャ作成時のテクスチャの説明 ( D3D11_TEXTURE1D_DESC または D3D11_TEXTURE2D_DESC または D3D11_TEXTURE3D_DESCを参照)。
メモ Windows 8 以降で使用できる Direct3D 11.1 ランタイムでは、動的定数バッファーと、D3D11_MAP_WRITE_NO_OVERWRITE を使用した動的バッファーのシェーダー リソース ビュー (SRV) のマッピングが可能になります。 Direct3D 11 以前のランタイムでは、頂点バッファーまたはインデックス バッファーへのマッピングが制限されています。 Direct3D デバイスでこれらの機能がサポートされているかどうかを確認するには、 ID3D11Device::CheckFeatureSupport を D3D11_FEATURE_D3D11_OPTIONSで呼び出します。 CheckFeatureSupport は、 D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーにデバイスの機能を入力します。 ここでの関連メンバーは 、MapNoOverwriteOnDynamicConstantBuffer と MapNoOverwriteOnDynamicBufferSRV です。
必要条件
Header | d3d11.h |