IDirect3DDevice9::SetClipStatus, méthode (d3d9.h)
Définit le status du clip.
Syntaxe
HRESULT SetClipStatus(
[in] const D3DCLIPSTATUS9 *pClipStatus
);
Paramètres
[in] pClipStatus
Type : const D3DCLIPSTATUS9*
Pointeur vers une structure D3DCLIPSTATUS9, décrivant le clip status paramètres à définir.
Valeur retournée
Type : HRESULT
Si la méthode réussit, la valeur de retour est D3D_OK. Si l’un des arguments n’est pas valide, la valeur de retour est D3DERR_INVALIDCALL.
Notes
Le status clip est utilisé pendant le traitement du vertex logiciel. Par conséquent, cette méthode n’est pas prise en charge sur les appareils de traitement matériels purs ou non purs. Pour plus d’informations sur les appareils purs, consultez D3DCREATE.
Lorsque le découpage est activé pendant le traitement des vertex (par IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive ou d’autres fonctions de dessin), Direct3D calcule un code clip pour chaque vertex. Le code clip est une combinaison de bits D3DCS_*. Lorsqu’un sommet se trouve en dehors d’un plan de découpage particulier, le bit correspondant est défini dans le code de découpage. Direct3D gère l’status de clip à l’aide de D3DCLIPSTATUS9, qui a des membres ClipUnion et ClipIntersection. ClipUnion est un « OR » au niveau du bit de tous les codes clip de vertex et ClipIntersection est un « AND » au niveau du bit de tous les codes clip de vertex. Les valeurs initiales sont zéro pour ClipUnion et 0xFFFFFFFF pour ClipIntersection. Lorsque D3DRS_CLIPPING a la valeur FALSE, ClipUnion et ClipIntersection ont la valeur zéro. Direct3D met à jour le clip status pendant les appels de dessin. Pour calculer les status de clip pour un objet particulier, définissez ClipUnion et ClipIntersection sur leur valeur initiale et continuez à dessiner.
L’status clip n’est pas mis à jour par IDirect3DDevice9::D rawRectPatch et IDirect3DDevice9::D rawTriPatch, car il n’existe aucune émulation logicielle pour eux.
Spécifications
Plateforme cible | Windows |
En-tête | d3d9.h (inclure D3D9.h) |
Bibliothèque | D3D9.lib |