Partager via


ID3D11DeviceContext ::RSSetViewports, méthode (d3d11.h)

Liez un tableau de fenêtres d’affichage à l’étape de rastériseur du pipeline.

Syntaxe

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

Paramètres

[in] NumViewports

Type : UINT

Nombre de fenêtres d’affichage à lier.

[in, optional] pViewports

Type : const D3D11_VIEWPORT*

Tableau de structures D3D11_VIEWPORT à lier à l’appareil. Consultez la page structure pour plus d’informations sur la façon dont la taille de la fenêtre d’affichage dépend du niveau de fonctionnalité de l’appareil qui a changé entre Direct3D 11 et Direct3D 10.

Valeur de retour

None

Remarques

Toutes les fenêtres d’affichage doivent être définies atomiquement comme une seule opération. Toutes les fenêtres d’affichage non définies par l’appel sont désactivées.

La fenêtre d’affichage à utiliser est déterminée par la SV_ViewportArrayIndex sortie sémantique d’un nuanceur géométrique ; si un nuanceur de géométrie ne spécifie pas la sémantique, Direct3D utilise la première fenêtre d’affichage du tableau.

Note Même si vous spécifiez des valeurs float aux membres de la structure D3D11_VIEWPORT pour le tableau pViewports dans un appel à ID3D11DeviceContext ::RSSetViewports pour lesniveaux de fonctionnalités 9_x, RSSetViewports utilise des DWORDs en interne. En raison de ce comportement, lorsque vous utilisez un coin supérieur gauche négatif pour la fenêtre d’affichage, l’appel à RSSetViewports pour les niveaux de fonctionnalité 9_x échoue. Cet échec se produit parce que RSSetViewports pour 9_x convertit les valeurs à virgule flottante en entiers non signés sans validation, ce qui entraîne un dépassement de capacité d’entier.
 

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d11.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11DeviceContext