Freigeben über


ID3D11DeviceContext::P SSetConstantBuffers-Methode (d3d11.h)

Legt die konstanten Puffer fest, die von der Pipelinephase des Pixel-Shaders verwendet werden.

Syntax

void PSSetConstantBuffers(
  [in]           UINT         StartSlot,
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppConstantBuffers
);

Parameter

[in] StartSlot

Typ: UINT

Indizieren Sie das nullbasierte Array des Geräts, um konstanten Puffer auf festzulegen (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 unter Windows 8 und höheren Betriebssystemen 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 so großen Puffer binden, kann der Shader nur auf die ersten 432-Bit-Komponentenkonstanten 4096 im Puffer zugreifen, als ob 4096 Konstanten die volle Größe des Puffers sind.

Um dem Shader den Zugriff auf andere Teile des Puffers zu ermöglichen, rufen Sie PSSetConstantBuffers1 anstelle von PSSetConstantBuffers auf. PSSetConstantBuffers1 verfügt über zusätzliche Parameter pFirstConstant und pNumConstants.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d11.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11DeviceContext