Win32 API 日本語リファレンス
ホームGraphics.Direct3D11 › D3D11_BIND_FLAG

D3D11_BIND_FLAG

列挙型フラグ
基底型i4

メンバー 10

名前10進16進説明
D3D11_BIND_VERTEX_BUFFER10x1バッファーを頂点バッファーとして入力アセンブラー ステージにバインドします。
D3D11_BIND_INDEX_BUFFER20x2バッファーをインデックス バッファーとして入力アセンブラー ステージにバインドします。
D3D11_BIND_CONSTANT_BUFFER40x4バッファーを定数バッファーとしてシェーダー ステージにバインドします。このフラグは、他のどのバインド フラグとも組み合わせることはできません。
D3D11_BIND_SHADER_RESOURCE80x8

バッファーまたはテクスチャーをシェーダー ステージにバインドします。このフラグは D3D11_MAP_WRITE_NO_OVERWRITE フラグと併用できません。

注意 Windows 8 以降で利用できる Direct3D 11.1 ランタイムでは、動的な定数バッファー、および動的なバッファーのシェーダー リソース ビュー (SRV) を D3D11_MAP_WRITE_NO_OVERWRITE でマップできます。Direct3D 11 以前のランタイムでは、マップできるのは頂点バッファーまたはインデックス バッファーに限られていました。Direct3D デバイスがこれらの機能をサポートしているかどうかを判断するには、D3D11_FEATURE_D3D11_OPTIONS を指定して ID3D11Device::CheckFeatureSupport を呼び出します。CheckFeatureSupport は、デバイスの機能を D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーに格納します。ここで関係するメンバーは MapNoOverwriteOnDynamicConstantBufferMapNoOverwriteOnDynamicBufferSRV です。
D3D11_BIND_STREAM_OUTPUT160x10ストリーム出力ステージ用の出力バッファーをバインドします。
D3D11_BIND_RENDER_TARGET320x20テクスチャーを出力マージャー ステージのレンダー ターゲットとしてバインドします。
D3D11_BIND_DEPTH_STENCIL640x40テクスチャーを出力マージャー ステージの深度ステンシル ターゲットとしてバインドします。
D3D11_BIND_UNORDERED_ACCESS1280x80アンオーダード アクセス リソースをバインドします。
D3D11_BIND_DECODER5120x200

2D テクスチャー をデコーダー API からの出力の受け取りに使用することを示すには、このフラグを設定します。デコーダー出力用のリソースを作成する一般的な方法は、ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャーの配列を作成することです。ただし、このフラグを指定して作成したテクスチャー配列は、ID3D11Device::CreateShaderResourceView の呼び出しでは使用できません。

Direct3D 11: この値は Direct3D 11.1 よりも前ではサポートされません。

D3D11_BIND_VIDEO_ENCODER10240x400

2D テクスチャー をビデオ エンコーダー API からの入力の受け取りに使用することを示すには、このフラグを設定します。ビデオ エンコーダー用のリソースを作成する一般的な方法は、ID3D11Device::CreateTexture2D メソッドを呼び出して 2D テクスチャーの配列を作成することです。ただし、このフラグを指定して作成したテクスチャー配列は、ID3D11Device::CreateShaderResourceView の呼び出しでは使用できません。

Direct3D 11: この値は Direct3D 11.1 よりも前ではサポートされません。

公式ドキュメント

リソースをパイプラインにバインドする方法を識別します。

解説(Remarks)

一般に、バインド フラグはビット単位のOR で組み合わせることができます (定数バッファーのフラグを除く)。ただし、デバイスがリソースの使用方法を最適化できるように、単一のフラグを使用することをお勧めします。

この列挙型は、次のもので使用されます。

シェーダー リソース バッファーは定数バッファーではありません。シェーダーにバインドされ、テクスチャー データまたはバッファー データを保持するテクスチャー リソースまたはバッファー リソースです (バッファー内の要素の型は 1 種類に限定されません)。シェーダー リソース バッファーは D3D11_BIND_SHADER_RESOURCE フラグを指定して作成し、次のいずれかの API を使用してパイプラインにバインドします。ID3D11DeviceContext::GSSetShaderResourcesID3D11DeviceContext::PSSetShaderResourcesID3D11DeviceContext::VSSetShaderResources。さらに、シェーダー リソース バッファーでは D3D11_MAP_WRITE_NO_OVERWRITE フラグを使用できません。
注意 Windows 8 以降で利用できる Direct3D 11.1 ランタイムでは、動的な定数バッファー、および動的なバッファーのシェーダー リソース ビュー (SRV) を D3D11_MAP_WRITE_NO_OVERWRITE でマップできます。Direct3D 11 以前のランタイムでは、マップできるのは頂点バッファーまたはインデックス バッファーに限られていました。Direct3D デバイスがこれらの機能をサポートしているかどうかを判断するには、D3D11_FEATURE_D3D11_OPTIONS を指定して ID3D11Device::CheckFeatureSupport を呼び出します。CheckFeatureSupport は、デバイスの機能を D3D11_FEATURE_DATA_D3D11_OPTIONS 構造体のメンバーに格納します。ここで関係するメンバーは MapNoOverwriteOnDynamicConstantBufferMapNoOverwriteOnDynamicBufferSRV です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D3D11_BIND_FLAG : int {
    D3D11_BIND_VERTEX_BUFFER = 1,
    D3D11_BIND_INDEX_BUFFER = 2,
    D3D11_BIND_CONSTANT_BUFFER = 4,
    D3D11_BIND_SHADER_RESOURCE = 8,
    D3D11_BIND_STREAM_OUTPUT = 16,
    D3D11_BIND_RENDER_TARGET = 32,
    D3D11_BIND_DEPTH_STENCIL = 64,
    D3D11_BIND_UNORDERED_ACCESS = 128,
    D3D11_BIND_DECODER = 512,
    D3D11_BIND_VIDEO_ENCODER = 1024
} D3D11_BIND_FLAG;
[Flags]
public enum D3D11_BIND_FLAG : int
{
    D3D11_BIND_VERTEX_BUFFER = 1,
    D3D11_BIND_INDEX_BUFFER = 2,
    D3D11_BIND_CONSTANT_BUFFER = 4,
    D3D11_BIND_SHADER_RESOURCE = 8,
    D3D11_BIND_STREAM_OUTPUT = 16,
    D3D11_BIND_RENDER_TARGET = 32,
    D3D11_BIND_DEPTH_STENCIL = 64,
    D3D11_BIND_UNORDERED_ACCESS = 128,
    D3D11_BIND_DECODER = 512,
    D3D11_BIND_VIDEO_ENCODER = 1024,
}
<Flags>
Public Enum D3D11_BIND_FLAG As Integer
    D3D11_BIND_VERTEX_BUFFER = 1
    D3D11_BIND_INDEX_BUFFER = 2
    D3D11_BIND_CONSTANT_BUFFER = 4
    D3D11_BIND_SHADER_RESOURCE = 8
    D3D11_BIND_STREAM_OUTPUT = 16
    D3D11_BIND_RENDER_TARGET = 32
    D3D11_BIND_DEPTH_STENCIL = 64
    D3D11_BIND_UNORDERED_ACCESS = 128
    D3D11_BIND_DECODER = 512
    D3D11_BIND_VIDEO_ENCODER = 1024
End Enum
import enum

class D3D11_BIND_FLAG(enum.IntFlag):
    D3D11_BIND_VERTEX_BUFFER = 1
    D3D11_BIND_INDEX_BUFFER = 2
    D3D11_BIND_CONSTANT_BUFFER = 4
    D3D11_BIND_SHADER_RESOURCE = 8
    D3D11_BIND_STREAM_OUTPUT = 16
    D3D11_BIND_RENDER_TARGET = 32
    D3D11_BIND_DEPTH_STENCIL = 64
    D3D11_BIND_UNORDERED_ACCESS = 128
    D3D11_BIND_DECODER = 512
    D3D11_BIND_VIDEO_ENCODER = 1024
// D3D11_BIND_FLAG (flags)
pub const D3D11_BIND_VERTEX_BUFFER: i32 = 1;
pub const D3D11_BIND_INDEX_BUFFER: i32 = 2;
pub const D3D11_BIND_CONSTANT_BUFFER: i32 = 4;
pub const D3D11_BIND_SHADER_RESOURCE: i32 = 8;
pub const D3D11_BIND_STREAM_OUTPUT: i32 = 16;
pub const D3D11_BIND_RENDER_TARGET: i32 = 32;
pub const D3D11_BIND_DEPTH_STENCIL: i32 = 64;
pub const D3D11_BIND_UNORDERED_ACCESS: i32 = 128;
pub const D3D11_BIND_DECODER: i32 = 512;
pub const D3D11_BIND_VIDEO_ENCODER: i32 = 1024;
// D3D11_BIND_FLAG
const (
	D3D11_BIND_VERTEX_BUFFER int32 = 1
	D3D11_BIND_INDEX_BUFFER int32 = 2
	D3D11_BIND_CONSTANT_BUFFER int32 = 4
	D3D11_BIND_SHADER_RESOURCE int32 = 8
	D3D11_BIND_STREAM_OUTPUT int32 = 16
	D3D11_BIND_RENDER_TARGET int32 = 32
	D3D11_BIND_DEPTH_STENCIL int32 = 64
	D3D11_BIND_UNORDERED_ACCESS int32 = 128
	D3D11_BIND_DECODER int32 = 512
	D3D11_BIND_VIDEO_ENCODER int32 = 1024
)
const
  D3D11_BIND_VERTEX_BUFFER = 1;
  D3D11_BIND_INDEX_BUFFER = 2;
  D3D11_BIND_CONSTANT_BUFFER = 4;
  D3D11_BIND_SHADER_RESOURCE = 8;
  D3D11_BIND_STREAM_OUTPUT = 16;
  D3D11_BIND_RENDER_TARGET = 32;
  D3D11_BIND_DEPTH_STENCIL = 64;
  D3D11_BIND_UNORDERED_ACCESS = 128;
  D3D11_BIND_DECODER = 512;
  D3D11_BIND_VIDEO_ENCODER = 1024;
// D3D11_BIND_FLAG
pub const D3D11_BIND_VERTEX_BUFFER: i32 = 1;
pub const D3D11_BIND_INDEX_BUFFER: i32 = 2;
pub const D3D11_BIND_CONSTANT_BUFFER: i32 = 4;
pub const D3D11_BIND_SHADER_RESOURCE: i32 = 8;
pub const D3D11_BIND_STREAM_OUTPUT: i32 = 16;
pub const D3D11_BIND_RENDER_TARGET: i32 = 32;
pub const D3D11_BIND_DEPTH_STENCIL: i32 = 64;
pub const D3D11_BIND_UNORDERED_ACCESS: i32 = 128;
pub const D3D11_BIND_DECODER: i32 = 512;
pub const D3D11_BIND_VIDEO_ENCODER: i32 = 1024;
const
  D3D11_BIND_VERTEX_BUFFER* = 1
  D3D11_BIND_INDEX_BUFFER* = 2
  D3D11_BIND_CONSTANT_BUFFER* = 4
  D3D11_BIND_SHADER_RESOURCE* = 8
  D3D11_BIND_STREAM_OUTPUT* = 16
  D3D11_BIND_RENDER_TARGET* = 32
  D3D11_BIND_DEPTH_STENCIL* = 64
  D3D11_BIND_UNORDERED_ACCESS* = 128
  D3D11_BIND_DECODER* = 512
  D3D11_BIND_VIDEO_ENCODER* = 1024
enum D3D11_BIND_FLAG : int {
    D3D11_BIND_VERTEX_BUFFER = 1,
    D3D11_BIND_INDEX_BUFFER = 2,
    D3D11_BIND_CONSTANT_BUFFER = 4,
    D3D11_BIND_SHADER_RESOURCE = 8,
    D3D11_BIND_STREAM_OUTPUT = 16,
    D3D11_BIND_RENDER_TARGET = 32,
    D3D11_BIND_DEPTH_STENCIL = 64,
    D3D11_BIND_UNORDERED_ACCESS = 128,
    D3D11_BIND_DECODER = 512,
    D3D11_BIND_VIDEO_ENCODER = 1024,
}
#define global D3D11_BIND_VERTEX_BUFFER    0x1
#define global D3D11_BIND_INDEX_BUFFER     0x2
#define global D3D11_BIND_CONSTANT_BUFFER  0x4
#define global D3D11_BIND_SHADER_RESOURCE  0x8
#define global D3D11_BIND_STREAM_OUTPUT    0x10
#define global D3D11_BIND_RENDER_TARGET    0x20
#define global D3D11_BIND_DEPTH_STENCIL    0x40
#define global D3D11_BIND_UNORDERED_ACCESS 0x80
#define global D3D11_BIND_DECODER          0x200
#define global D3D11_BIND_VIDEO_ENCODER    0x400
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。