ID3D11DeviceContext::CSSetConstantBuffers-Methode (d3d11.h)
Legt die konstanten Puffer fest, die von der Compute-Shader-Phase verwendet werden.
Syntax
void CSSetConstantBuffers(
[in] UINT StartSlot,
[in] UINT NumBuffers,
[in, optional] ID3D11Buffer * const *ppConstantBuffers
);
Parameter
[in] StartSlot
Typ: UINT
Indizieren Sie das nullbasierte Array, um mit dem Festlegen von Konstantenpuffern zu beginnen (Bereich von 0 bis D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1).
[in] NumBuffers
Typ: UINT
Anzahl der festzulegenden Puffer (Bereich von 0 bis D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot).
[in, optional] ppConstantBuffers
Typ: ID3D11Buffer*
Array von Konstantenpuffern (siehe ID3D11Buffer), das dem Gerät zugewiesen wird.
Rückgabewert
Keine
Bemerkungen
Die -Methode enthält einen Verweis auf die übergebenen Schnittstellen. Dies unterscheidet sich vom Gerätestatusverhalten in Direct3D 10.
Die Direct3D 11.1-Runtime, die ab Windows 8 verfügbar ist, kann eine größere Anzahl von ID3D11Buffer-Ressourcen an den Shader binden als die maximale konstante Puffergröße, die von Shadern unterstützt wird (4096 Konstanten – jeweils 4*32-Bit-Komponenten). Wenn Sie einen solchen großen Puffer binden, kann der Shader nur auf die ersten 4096 4*32-Bit-Komponentenkonstanten im Puffer zugreifen, als ob 4096 Konstanten die volle Größe des Puffers sind.
Wenn die Anwendung möchte, dass der Shader auf andere Teile des Puffers zugreift, muss sie stattdessen die CSSetConstantBuffers1-Methode aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d11.h |
Bibliothek | D3D11.lib |