PFND3DDDI_CLEAR fonction de rappel (d3dumddi.h)
La fonction Clear effectue l’effacement assisté par le matériel sur la cible de rendu, la mémoire tampon de profondeur ou la mémoire tampon de gabarit.
Syntaxe
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Paramètres
[in] hDevice
Handle de l’appareil d’affichage (contexte graphique).
unnamedParam2
pData [in]
Pointeur vers une structure de D3DDDIARG_CLEAR qui décrit les paramètres de l’opération de suppression assistée par le matériel.
unnamedParam3
NumRect [in]
Nombre de rectangles dans le tableau à effacer à pRect . Si le nombre de rectangles est défini sur zéro, Clear doit effacer l’intégralité de la cible de rendu, de la mémoire tampon de profondeur et de la mémoire tampon de gabarit. Dans ce cas, le contenu du tableau à pRect n’est pas défini et le pilote ne doit pas tenter de les lire.
unnamedParam4
pRect [in]
Tableau de structures RECT qui indiquent les zones rectangulaires de la mémoire tampon que le pilote doit effacer.
Valeur retournée
Clear retourne S_OK ou un résultat d’erreur approprié si l’opération d’effacement assistée par le matériel n’est pas effectuée avec succès.
Remarques
La façon dont le pilote effectue l’opération d’effacement dépend du nombre de zones rectangulaires spécifiées dans le paramètre NumRect et des valeurs définies dans le membre Flags de D3DDDIARG_CLEAR. Les valeurs D3DCLEAR_TARGET, D3DCLEAR_STENCIL et D3DCLEAR_ZBUFFER (définies dans D3d8types.h) indiquent le type de mémoire tampon à effacer. La valeur D3DCLEAR_COMPUTERECTS (définie dans D3dhal.h) indique comment effacer la mémoire tampon. Les paramètres suivants indiquent comment le pilote doit effacer le type de mémoire tampon spécifié :
- Si NumRect a la valeur 0 (NumRect== 0) et si D3DCLEAR_COMPUTERECTS n’est pas défini dans Indicateurs, le pilote efface 0 pixels (c’est-à-dire une opération sans opération).
- Si NumRect a la valeur 0 et que D3DCLEAR_COMPUTERECTS est défini dans Indicateurs, le pilote efface la fenêtre d’affichage entière (et non la surface entière).
- Si NumRect a une valeur supérieure à 0 (NumRect != 0) et que D3DCLEAR_COMPUTERECTS est défini dans Indicateurs, le pilote clipse les zones rectangulaires spécifiées par pRect par rapport à la fenêtre d’affichage actuelle.
Si NumRect est défini sur une valeur supérieure à 0 (NumRect> 0) et si D3DCLEAR_COMPUTERECTS est défini dans Indicateurs, le pilote attache les zones rectangulaires spécifiées à la fenêtre d’affichage actuelle et au rectangle de ciseaux si une application a précédemment défini D3DRS_SCISSORTESTENABLE. Si NumRect> 0 et D3DCLEAR_COMPUTERECTS ne sont pas définis, le pilote détermine que le runtime Direct3D a déjà coupé les zones rectangulaires spécifiées dans la fenêtre d’affichage actuelle, et dans le rectangle de ciseaux si une application a précédemment défini D3DRS_SCISSORTESTENABLE.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dumddi.h (inclure D3dumddi.h) |