Méthode IDirect3DDevice9 ::D rawTriPatch (d3d9.h)

Dessine un correctif triangulaire à l’aide des flux actuellement définis.

Syntaxe

HRESULT DrawTriPatch(
  [in] UINT                   Handle,
  [in] const float            *pNumSegs,
  [in] const D3DTRIPATCH_INFO *pTriPatchInfo
);

Paramètres

[in] Handle

Type : UINT

Manipulez le patch triangulaire à dessiner.

[in] pNumSegs

Type : const float*

Pointeur vers un tableau de trois valeurs à virgule flottante qui identifient le nombre de segments que chaque bord du correctif triangle doit être divisé en cas de tessellation. Voir D3DTRIPATCH_INFO.

[in] pTriPatchInfo

Type : const D3DTRIPATCH_INFO*

Pointeur vers une structure D3DTRIPATCH_INFO , décrivant le correctif triangulaire d’ordre élevé à dessiner.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Remarques

Pour les correctifs statiques : définissez le nuanceur de vertex, définissez les flux appropriés, fournissez des informations de correctif dans le paramètre pTriPatchInfo et spécifiez un handle afin que Direct3D puisse capturer et mettre en cache des informations. Pour dessiner efficacement le correctif, appelez IDirect3DDevice9 ::D rawTriPatch avec pTriPatchInfo défini sur NULL. Lors du dessin d’un correctif mis en cache, les flux actuellement définis sont ignorés. Remplacez les pNumSegs mis en cache en spécifiant une nouvelle valeur pour pNumSegs. Lors du rendu d’un correctif mis en cache, vous devez définir le même nuanceur de vertex que celui qui a été défini lors de sa capture.

L’appel de IDirect3DDevice9 ::D rawTriPatch avec un handle invalide le même handle mis en cache par un appel IDirect3DDevice9 ::D rawRectPatch précédent.

Pour les correctifs dynamiques, les données de correctif changent pour chaque rendu du correctif, de sorte qu’il n’est pas efficace de mettre en cache les informations. L’application peut transmettre cela à Direct3D en définissant Handle sur 0. Dans ce cas, Direct3D dessine le correctif à l’aide des flux actuellement définis et des valeurs pNumSegs, et ne met pas en cache d’informations. Il n’est pas valide de définir simultanément Handle sur 0 et pTriPatchInfo sur NULL.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d9.h (inclure D3D9.h)
Bibliothèque D3D9.lib

Voir aussi

IDirect3DDevice9

Utilisation de primitives Higher-Order (Direct3D 9)