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 |