_Structure d’informations D3DRECTPATCH

Décrit un correctif rectangulaire de poids fort.

Syntaxe

typedef struct D3DRECTPATCH_INFO {
  UINT          StartVertexOffsetWidth;
  UINT          StartVertexOffsetHeight;
  UINT          Width;
  UINT          Height;
  UINT          Stride;
  D3DBASISTYPE  Basis;
  D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;

Membres

StartVertexOffsetWidth

Type : uint

Largeur du décalage du vertex de départ, en nombre de vertex.

StartVertexOffsetHeight

Type : uint

Hauteur du décalage du vertex de départ, en nombre de vertex.

Width

Type : uint

Largeur de chaque vertex, en nombre de vertex.

Height

Type : uint

Hauteur de chaque vertex, en nombre de vertex.

Progrès

Type : uint

Largeur du tableau de vertex imaginaire à deux dimensions, qui occupe le même espace que la mémoire tampon de vertex. Pour obtenir un exemple, consultez le diagramme ci-dessous.

basis

Type : D3DBASISTYPE

Membre du type énuméré D3DBASISTYPE , définissant le type de base pour le correctif rectangulaire de poids fort.

Value Commande prise en charge Largeur et hauteur
D3DBASIS _ Bézier Linéaire, cubique et quintaux Width = hauteur = (DWORD) ordre + 1
D3DBASIS _ BSPLINE Linéaire, cubique et quintaux Width = hauteur > (DWORD) Order
_Interpolation D3DBASIS Mètres Width = hauteur > (DWORD) Order

Degré

Type : D3DDEGREETYPE

Membre du type énuméré D3DDEGREETYPE , définissant le degré pour le correctif rectangulaire.

Remarques

Le diagramme suivant identifie les paramètres qui spécifient un correctif de rectangle.

diagramme d’un correctif de poids fort rectangulaire et des paramètres qui le spécifient

Chacun des vertex de la mémoire tampon de vertex est affiché sous la forme d’un point noir. Dans ce cas, la mémoire tampon de vertex contient 20 sommets, dont 16 dans le carreau de rectangle. Le Stride est le nombre de vertex dans la largeur de la mémoire tampon de vertex, dans ce cas cinq. Le décalage x du premier vertex est appelé StartIndexVertexWidth et est dans ce cas 1. Le décalage y du premier vertex patch est appelé StartIndexVertexHeight et est dans ce cas 0.

Pour afficher un flux de différents correctifs rectangulaires (non-mosaïques), vous devez interpréter votre géométrie comme un correctif rectangulaire long (1 x N). La structure d' _ informations D3DRECTPATCH pour une telle bande (Bézier cubique) est configurée de la manière suivante.

    
D3DRECTPATCH_INFO RectInfo;

RectInfo.Width = 4;
RectInfo.Height = 4;
RectInfo.Stride = 4;
RectInfo.Basis = D3DBASIS_BEZIER;
RectInfo.Order = D3DORDER_CUBIC;
RectInfo.StartVertexOffsetWidth = 0;
RectInfo.StartVertexOffsetHeight = 4*i;  // The variable i is the index of the 
//   patch you want to render.

Configuration requise

Condition requise Valeur
En-tête
D3D9Types. h

Voir aussi

Structures Direct3D

DrawRectPatch

D3DXTessellateRectPatch