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

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

Syntaxe

HRESULT DrawRectPatch(
  [in] UINT                    Handle,
  [in] const float             *pNumSegs,
  [in] const D3DRECTPATCH_INFO *pRectPatchInfo
);

Paramètres

[in] Handle

Type : UINT

Poignée vers le patch rectangulaire à dessiner.

[in] pNumSegs

Type : const float*

Pointeur vers un tableau de quatre valeurs à virgule flottante qui identifient le nombre de segments que chaque bord du correctif de rectangle doit être divisé en cas de vente tessellée. Voir D3DRECTPATCH_INFO.

[in] pRectPatchInfo

Type : const D3DRECTPATCH_INFO*

Pointeur vers une structure D3DRECTPATCH_INFO , décrivant le patch rectangulaire à 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 sur les correctifs dans le paramètre pRectPatchInfo et spécifiez un handle afin que Direct3D puisse capturer et mettre en cache des informations. Appelez ensuite IDirect3DDevice9 ::D rawRectPatch avec pRectPatchInfo défini sur NULL pour dessiner efficacement le correctif. 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 rawRectPatch avec un handle invalide le même handle mis en cache par un appel IDirect3DDevice9 ::D rawTriPatch précédent.

Pour les correctifs dynamiques, les données du 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 les informations. Il n’est pas valide de définir simultanément Handle sur 0 et pRectPatchInfo 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

IDirect3DDevice9 ::D eletePatch

Utilisation de primitives Higher-Order (Direct3D 9)