IDirect3DDevice9 ::Clear, méthode (d3d9.h)
Efface une ou plusieurs surfaces telles qu’une cible de rendu, plusieurs cibles de rendu, une mémoire tampon de gabarit et une mémoire tampon de profondeur.
Syntaxe
HRESULT Clear(
[in] DWORD Count,
[in] const D3DRECT *pRects,
[in] DWORD Flags,
[in] D3DCOLOR Color,
[in] float Z,
[in] DWORD Stencil
);
Paramètres
[in] Count
Type : DWORD
Nombre de rectangles dans le tableau à pRects. Doit être défini sur 0 si pRects a la valeur NULL. Peut ne pas être 0 si pRects est un pointeur valide.
[in] pRects
Type : const D3DRECT*
Pointeur vers un tableau de structures D3DRECT qui décrivent les rectangles à effacer. Définissez un rectangle sur les dimensions de la cible de rendu pour effacer toute la surface. Chaque rectangle utilise des coordonnées d’écran qui correspondent à des points sur la cible de rendu. Les coordonnées sont coupées aux limites du rectangle de fenêtre d’affichage. Pour indiquer que l’intégralité du rectangle de la fenêtre d’affichage doit être effacée, définissez ce paramètre sur NULL et Count sur 0.
[in] Flags
Type : DWORD
Combinaison d’un ou plusieurs indicateurs de D3DCLEAR qui spécifient la ou les surfaces qui seront effacées.
[in] Color
Type : D3DCOLOR
Effacez une cible de rendu pour cette couleur ARGB.
[in] Z
Type : float
Effacez la mémoire tampon de profondeur à cette nouvelle valeur z qui varie de 0 à 1. Consultez la section Remarques.
[in] Stencil
Type : DWORD
Effacez la mémoire tampon de gabarit pour cette nouvelle valeur qui varie de 0 à 2ⁿ-1 (n est la profondeur de bits de la mémoire tampon de gabarit). Consultez la section Remarques.
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
Utilisez cette méthode pour effacer une surface, notamment : une cible de rendu, toutes les cibles de rendu dans un MRT, une mémoire tampon de gabarit ou une mémoire tampon de profondeur. Les indicateurs déterminent le nombre de surfaces effacées. Utilisez pRects pour effacer un sous-ensemble d’une surface définie par un tableau de rectangles.
IDirect3DDevice9 ::Clear échoue si vous :
- Essayez d’effacer la mémoire tampon de profondeur ou la mémoire tampon de gabarit d’une cible de rendu qui n’a pas de mémoire tampon de profondeur attachée.
- Essayez d’effacer la mémoire tampon de gabarit lorsque la mémoire tampon de profondeur ne contient pas de données de gabarit.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d9.h (inclure D3D9.h) |
Bibliothèque | D3D9.lib |