Freigeben über


D3D11_BIND_FLAG-Enumeration (d3d11.h)

Gibt an, wie eine Ressource an die Pipeline gebunden wird.

Syntax

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
} ;

Konstanten

 
D3D11_BIND_VERTEX_BUFFER
Wert: 0x1L
Binden Sie einen Puffer als Vertexpuffer an die Eingabe-Assembler-Phase.
D3D11_BIND_INDEX_BUFFER
Wert: 0x2L
Binden Sie einen Puffer als Indexpuffer an die Eingabe-Assembler-Phase.
D3D11_BIND_CONSTANT_BUFFER
Wert: 0x4L
Binden Sie einen Puffer als konstanten Puffer an eine Shaderphase. Dieses Flag darf NICHT mit einem anderen Bindungsflag kombiniert werden.
D3D11_BIND_SHADER_RESOURCE
Wert: 0x8L
Binden Sie einen Puffer oder eine Textur an eine Shaderstufe; Dieses Flag kann nicht mit dem D3D11_MAP_WRITE_NO_OVERWRITE-Flag verwendet werden.

Hinweis Die Direct3D 11.1-Runtime, die ab Windows 8 verfügbar ist, ermöglicht die Zuordnung dynamischer Konstantenpuffer und Shaderressourcensichten (SRVs) von dynamischen Puffern mit D3D11_MAP_WRITE_NO_OVERWRITE. Die Direct3D 11- und früheren Runtimes beschränkten die Zuordnung zu Scheitelpunkt- oder Indexpuffern. Um festzustellen, ob ein Direct3D-Gerät diese Features unterstützt, rufen Sie ID3D11Device::CheckFeatureSupport mit D3D11_FEATURE_D3D11_OPTIONS auf. CheckFeatureSupport füllt Elemente einer D3D11_FEATURE_DATA_D3D11_OPTIONS-Struktur mit den Features des Geräts. Die relevanten Mitglieder hier sind MapNoOverwriteOnDynamicConstantBuffer und MapNoOverwriteOnDynamicBufferSRV.

 
D3D11_BIND_STREAM_OUTPUT
Wert: 0x10L
Binden Sie einen Ausgabepuffer für die Streamausgabephase.
D3D11_BIND_RENDER_TARGET
Wert: 0x20L
Binden Sie eine Textur als Renderziel für die Ausgabefusionsphase.
D3D11_BIND_DEPTH_STENCIL
Wert: 0x40L
Binden Sie eine Textur als Tiefenschablonenziel für die Ausgabe-Merger-Phase.
D3D11_BIND_UNORDERED_ACCESS
Wert: 0x80L
Binden Sie eine nicht sortierte Zugriffsressource .
D3D11_BIND_DECODER
Wert: 0x200L
Legen Sie dieses Flag fest, um anzugeben, dass eine 2D-Textur verwendet wird, um die Ausgabe von der Decoder-API zu empfangen. Die gängige Methode zum Erstellen von Ressourcen für eine Decoderausgabe besteht darin, die ID3D11Device::CreateTexture2D-Methode aufzurufen, um ein Array von 2D-Texturen zu erstellen. Sie können jedoch keine Texturarrays verwenden, die mit diesem Flag in Aufrufen von ID3D11Device::CreateShaderResourceView erstellt werden.

Direct3D 11: Dieser Wert wird erst in Direct3D 11.1 unterstützt.
D3D11_BIND_VIDEO_ENCODER
Wert: 0x400L
Legen Sie dieses Flag fest, um anzugeben, dass eine 2D-Textur verwendet wird, um Eingaben von der Videoencoder-API zu empfangen. Die gängige Methode zum Erstellen von Ressourcen für einen Videoencoder besteht darin, die ID3D11Device::CreateTexture2D-Methode aufzurufen, um ein Array von 2D-Texturen zu erstellen. Sie können jedoch keine Texturarrays verwenden, die mit diesem Flag in Aufrufen von ID3D11Device::CreateShaderResourceView erstellt werden.

Direct3D 11: Dieser Wert wird erst in Direct3D 11.1 unterstützt.

Hinweise

Im Allgemeinen können Bindungsflags mit einem bitweisen OR kombiniert werden (mit Ausnahme des Flags für konstanten Puffer). Sie sollten jedoch ein einzelnes Flag verwenden, damit das Gerät die Ressourcennutzung optimieren kann.

Diese Enumeration wird von einem verwendet:

Ein Shaderressourcenpuffer ist KEIN konstanter Puffer. Es handelt sich vielmehr um eine Textur- oder Pufferressource, die an einen Shader gebunden ist und Textur- oder Pufferdaten enthält (sie ist nicht auf einen einzelnen Elementtyp im Puffer beschränkt). Ein Shaderressourcenpuffer wird mit dem flag D3D11_BIND_SHADER_RESOURCE erstellt und mit einer der folgenden APIs an die Pipeline gebunden: ID3D11DeviceContext::GSSetShaderResources, ID3D11DeviceContext::P SSetShaderResources oder ID3D11DeviceContext::VSSetShaderResources. Darüber hinaus kann ein Shaderressourcenpuffer das Flag D3D11_MAP_WRITE_NO_OVERWRITE nicht verwenden.
Hinweis Die Direct3D 11.1-Runtime, die ab Windows 8 verfügbar ist, ermöglicht die Zuordnung dynamischer Konstantenpuffer und Shaderressourcensichten (SRVs) von dynamischen Puffern mit D3D11_MAP_WRITE_NO_OVERWRITE. Die Direct3D 11- und früheren Runtimes beschränkten die Zuordnung zu Scheitelpunkt- oder Indexpuffern. Um festzustellen, ob ein Direct3D-Gerät diese Features unterstützt, rufen Sie ID3D11Device::CheckFeatureSupport mit D3D11_FEATURE_D3D11_OPTIONS auf. CheckFeatureSupport füllt Elemente einer D3D11_FEATURE_DATA_D3D11_OPTIONS-Struktur mit den Features des Geräts. Die relevanten Mitglieder hier sind MapNoOverwriteOnDynamicConstantBuffer und MapNoOverwriteOnDynamicBufferSRV.
 

Anforderungen

   
Kopfzeile d3d11.h

Weitere Informationen

Ressourcenaufzählungen