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 つだけ使用することをお奨めします。

この列挙型は、以下によって使用されます。

シェーダー リソース バッファーは定数バッファーではありません。これは、シェーダーにバインドされているテクスチャー リソースまたはバッファー リソースであり、テクスチャー データまたはバッファー データが格納されます (バッファー内の要素タイプは 1 つに限定されません)。シェーダー リソース バッファーは D3D11_BIND_SHADER_RESOURCE フラグを使用して作成され、ID3D11DeviceContext::GSSetShaderResourcesID3D11DeviceContext::PSSetShaderResources、または ID3D11DeviceContext::VSSetShaderResources のいずれかの API を使用してパイプラインにバインドされます。また、シェーダー リソース バッファーでは D3D11_MAP_WRITE_NO_OVERWRITE フラグを使用できません。

要件

ヘッダー: D3D11.h 宣言

ライブラリ: D3D11.lib 内容

関連項目

リソース列挙型