Méthode IDirect3DDevice9 ::D rawRectPatch (d3d9helper.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
Gérez 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 rectangle doit être divisé en cas de tessellation. Voir D3DRECTPATCH_INFO.
[in] pRectPatchInfo
Type : const D3DRECTPATCH_INFO*
Pointeur vers une structure D3DRECTPATCH_INFO , décrivant le correctif 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 de correctif 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 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 pRectPatchInfo sur NULL.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d9helper.h (incluez D3D9.h) |
Bibliothèque | D3D9.lib |