D3D11_BIND_FLAG
リソースをパイプラインにバインドする方法を識別します。
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_FLAG;
定数
- D3D11_BIND_VERTEX_BUFFER
バッファーを頂点バッファーとして入力アセンブラー ステージにバインドします。 - D3D11_BIND_INDEX_BUFFER
バッファーをインデックス バッファーとして入力アセンブラー ステージにバインドします。 - D3D11_BIND_CONSTANT_BUFFER
バッファーを定数バッファーとしてシェーダー ステージにバインドします。このフラグは、他のバインド フラグと組み合わせて使用することはできません。 - D3D11_BIND_SHADER_RESOURCE
バッファーまたはテクスチャーをシェーダー ステージにバインドします。このフラグは、D3D11_MAP_WRITE_NO_OVERWRITE フラグと同時に使用することはできません。 - D3D11_BIND_STREAM_OUTPUT
ストリーム出力ステージの出力バッファーをバインドします。 - D3D11_BIND_RENDER_TARGET
テクスチャーを出力結合ステージのレンダー ターゲットとしてバインドします。 - D3D11_BIND_DEPTH_STENCIL
テクスチャーを出力結合ステージの深度ステンシル ターゲットとしてバインドします。 - D3D11_BIND_UNORDERED_ACCESS
アンオーダード アクセス リソースをバインドします。
解説
一般に、バインド フラグは論理和を使って組み合わせることができます (定数バッファー フラグを除く)。ただし、デバイスでリソースの使用を最適化するには、フラグを 1 つだけ使用することをお奨めします。
この列挙型は、以下によって使用されます。
- バッファーの記述 - バッファーを作成する場合。
- テクスチャーの記述 - テクスチャーを作成する場合 (「D3D11_TEXTURE1D_DESC」、「D3D11_TEXTURE2D_DESC」、または「D3D11_TEXTURE3D_DESC」を参照)。
シェーダー リソース バッファーは定数バッファーではありません。これは、シェーダーにバインドされているテクスチャー リソースまたはバッファー リソースであり、テクスチャー データまたはバッファー データが格納されます (バッファー内の要素タイプは 1 つに限定されません)。シェーダー リソース バッファーは D3D11_BIND_SHADER_RESOURCE フラグを使用して作成され、ID3D11DeviceContext::GSSetShaderResources、ID3D11DeviceContext::PSSetShaderResources、または ID3D11DeviceContext::VSSetShaderResources のいずれかの API を使用してパイプラインにバインドされます。また、シェーダー リソース バッファーでは D3D11_MAP_WRITE_NO_OVERWRITE フラグを使用できません。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容