Freigeben über


ID3D11DeviceContext::RSSetViewports-Methode (d3d11.h)

Binden Sie ein Array von Viewports an die Rasterizerphase der Pipeline.

Syntax

void RSSetViewports(
  [in]           UINT                 NumViewports,
  [in, optional] const D3D11_VIEWPORT *pViewports
);

Parameter

[in] NumViewports

Typ: UINT

Anzahl der zu bindenden Viewports.

[in, optional] pViewports

Typ: const D3D11_VIEWPORT*

Ein Array von D3D11_VIEWPORT Strukturen, die an das Gerät gebunden werden sollen. Weitere Informationen dazu, wie die Viewportgröße von der Gerätefunktionsebene abhängig ist, die sich zwischen Direct3D 11 und Direct3D 10 geändert hat, finden Sie auf der Strukturseite.

Rückgabewert

Keine

Bemerkungen

Alle Viewports müssen atomar als einen Vorgang festgelegt werden. Alle Viewports, die nicht durch den Aufruf definiert werden, sind deaktiviert.

Welcher Viewport verwendet werden soll, wird durch die SV_ViewportArrayIndex semantischen Ausgabe eines Geometrie-Shaders bestimmt. wenn ein Geometrie-Shader die Semantik nicht angibt, verwendet Direct3D den ersten Viewport im Array.

Hinweis Obwohl Sie float-Werte für die Member der D3D11_VIEWPORT-Struktur für das pViewports-Array in einem Aufruf von ID3D11DeviceContext::RSSetViewports für Featureebenen 9_x angeben, verwendet RSSetViewports DWORDs intern. Aufgrund dieses Verhaltens schlägt der Aufruf von RSSetViewports für Featureebenen fehl, wenn Sie eine negative obere linke Ecke für den Viewport verwenden, 9_x. Dieser Fehler tritt auf, weil RSSetViewports für 9_x die Gleitkommawerte ohne Überprüfung in ganze Zahlen ohne Vorzeichen umgibt, was zu ganzzahligem Überlauf führt.
 

Anforderungen

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

Weitere Informationen

ID3D11DeviceContext