D3D10_BIND_FLAG
リソースをパイプラインにバインドする方法を識別します。
typedef enum D3D10_BIND_FLAG
{
D3D10_BIND_VERTEX_BUFFER = 0x1L,
D3D10_BIND_INDEX_BUFFER = 0x2L,
D3D10_BIND_CONSTANT_BUFFER = 0x4L,
D3D10_BIND_SHADER_RESOURCE = 0x8L,
D3D10_BIND_STREAM_OUTPUT = 0x10L,
D3D10_BIND_RENDER_TARGET = 0x20L,
D3D10_BIND_DEPTH_STENCIL = 0x40L,
} D3D10_BIND_FLAG;
定数
- D3D10_BIND_VERTEX_BUFFER
バッファーを頂点バッファーとして入力アセンブラー ステージにバインドします。 - D3D10_BIND_INDEX_BUFFER
バッファーをインデックス バッファーとして入力アセンブラー ステージにバインドします。 - D3D10_BIND_CONSTANT_BUFFER
バッファーを定数バッファーとしてシェーダー ステージにバインドします。このフラグは、他のバインド フラグと組み合わせて使用することはできません。 - D3D10_BIND_SHADER_RESOURCE
バッファーまたはテクスチャーをシェーダー ステージにバインドします。このフラグは、D3D10_MAP_WRITE_NO_OVERWRITE フラグと組み合わせて使用することはできません。 - D3D10_BIND_STREAM_OUTPUT
ストリーム出力ステージの出力バッファーをバインドします。 - D3D10_BIND_RENDER_TARGET
テクスチャーを出力結合ステージのレンダー ターゲットとしてバインドします。 - D3D10_BIND_DEPTH_STENCIL
テクスチャーを出力結合ステージの深度ステンシル ターゲットとしてバインドします。
解説
一般に、バインド フラグは論理和を使って組み合わせることができます (定数バッファー フラグを除く)。ただし、デバイスでリソースの使用を最適化するには、フラグを 1 つだけ使用することをお奨めします。
この列挙型は、以下によって使用されます。
- バッファーの記述 - バッファーを作成する場合。
- テクスチャーの記述 - テクスチャーを作成する場合 (「D3D10_TEXTURE1D_DESC」、「D3D10_TEXTURE2D_DESC」、または「D3D10_TEXTURE3D_DESC」を参照)。
シェーダー リソース バッファーは定数バッファーではありません。これは、シェーダーにバインドされているテクスチャー リソースまたはバッファー リソースであり、テクスチャー データまたはバッファー データが格納されます (バッファー内の要素タイプは 1 つに限定されません)。シェーダー リソース バッファーは D3D10_BIND_SHADER_RESOURCE フラグを使用して作成され、次の API のいずれかを使用してパイプラインにバインドされます。それらは、ID3D10Device::GSSetShaderResources、ID3D10Device::PSSetShaderResources、および ID3D10Device::VSSetShaderResources です。また、シェーダー リソース バッファーでは D3D10_MAP_WRITE_NO_OVERWRITE フラグを使用できません。
要件
ヘッダー: D3D10.h 宣言
ライブラリ: D3D10.lib 内容