Partager via


structure D3D11_VIEWPORT (d3d11.h)

Définit les dimensions d’une fenêtre d’affichage.

Syntaxe

typedef struct D3D11_VIEWPORT {
  FLOAT TopLeftX;
  FLOAT TopLeftY;
  FLOAT Width;
  FLOAT Height;
  FLOAT MinDepth;
  FLOAT MaxDepth;
} D3D11_VIEWPORT;

Membres

TopLeftX

Type : FLOAT

Position X du côté gauche de la fenêtre d’affichage. S’étend entre D3D11_VIEWPORT_BOUNDS_MIN et D3D11_VIEWPORT_BOUNDS_MAX.

TopLeftY

Type : FLOAT

Position Y du haut de la fenêtre d’affichage. S’étend entre D3D11_VIEWPORT_BOUNDS_MIN et D3D11_VIEWPORT_BOUNDS_MAX.

Width

Type : FLOAT

Largeur de la fenêtre d’affichage.

Height

Type : FLOAT

Hauteur de la fenêtre d’affichage.

MinDepth

Type : FLOAT

Profondeur minimale de la fenêtre d’affichage. Plages comprises entre 0 et 1.

MaxDepth

Type : FLOAT

Profondeur maximale de la fenêtre d’affichage. Plages comprises entre 0 et 1.

Remarques

Dans tous les cas, Width et Height doivent être >= 0 et TopLeftX + Width et TopLeftY + Height doivent être <= D3D11_VIEWPORT_BOUNDS_MAX.

Les tailles de fenêtre d’affichage et le niveau de fonctionnalité prennent en charge les différences entre Direct3D 11 et Direct3D 10 :

La plage de la taille minimale et maximale de la fenêtre d’affichage dépend du niveau de fonctionnalité défini par D3D_FEATURE_LEVEL.

  • Direct3D 11 prend en charge les fenêtres d’affichage fractionnaires ; les types de paramètres sont des nombres à virgule flottante. Le niveau de fonctionnalité, D3D_FEATURE_LEVEL_11_0, prend en charge les valeurs (D3D11_VIEWPORT_BOUNDS_MIN, D3D11_VIEWPORT_BOUNDS_MAX) comprises entre (-32768, 32 767).
  • Direct3D 10 ne prend pas en charge les fenêtres d’affichage fractionnaires. Les niveaux de fonctionnalité, D3D_FEATURE_LEVEL_10_1 (ou inférieurs), prennent en charge les valeurs (D3D10_VIEWPORT_BOUNDS_MIN, D3D10_VIEWPORT_BOUNDS_MAX) comprises entre (-16384, 16383).
 
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 négatif en haut à gauche pour la fenêtre d’affichage, l’appel à RSSetViewports pour les niveaux de fonctionnalités 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
En-tête d3d11.h

Voir aussi

Structures principales