PFND3DDDI_CLEAR Rückruffunktion (d3dumddi.h)
Die Löschen-Funktion führt das hardwaregestützte Löschen des Renderingziels, des Tiefenpuffers oder des Schablonenpuffers durch.
Syntax
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Parameter
[in] hDevice
Ein Handle für das Anzeigegerät (Grafikkontext).
unnamedParam2
pData- [in]
Ein Zeiger auf eine D3DDDIARG_CLEAR-Struktur, die die Parameter des hardwaregestützten Clearingvorgangs beschreibt.
unnamedParam3
NumRect- [in]
Die Anzahl der Rechtecke im Array bei pRect- gelöscht werden soll. Wenn die Anzahl der Rechtecke auf Null festgelegt ist, sollte Löschen das gesamte Renderziel, den Tiefenpuffer und den Schablonenpuffer löschen. In diesem Fall sind die Inhalte des Arrays bei pRect- nicht definiert, und der Treiber sollte nicht versuchen, sie zu lesen.
unnamedParam4
pRect- [in]
Ein Array von RECT- Strukturen, die die rechteckigen Bereiche des Puffers angeben, die der Treiber löschen soll.
Rückgabewert
Löschen gibt S_OK oder ein entsprechendes Fehlerergebnis zurück, wenn der hardwaregestützte Clearingvorgang nicht erfolgreich ausgeführt wird.
Bemerkungen
Wie der Treiber den eindeutigen Vorgang ausführt, hängt von der Anzahl der rechteckigen Bereiche ab, die im NumRect Parameter angegeben sind, sowie von den Werten, die im Flags Member von D3DDDIARG_CLEARfestgelegt werden. Die werte D3DCLEAR_TARGET, D3DCLEAR_STENCIL und D3DCLEAR_ZBUFFER (definiert in D3d8types.h) geben den zu löschenden Puffertyp an. Der D3DCLEAR_COMPUTERECTS -Wert (definiert in D3dhal.h) gibt an, wie der Puffer gelöscht wird. Die folgenden Einstellungen geben an, wie der Treiber den angegebenen Puffertyp löschen soll:
- Wenn NumRect- auf 0 (NumRect== 0) festgelegt ist und D3DCLEAR_COMPUTERECTS in Flagsnicht festgelegt ist, löscht der Treiber 0 Pixel (d. a. ein no-op).
- Wenn NumRect- auf 0 festgelegt ist und D3DCLEAR_COMPUTERECTS in Flagsfestgelegt wird, löscht der Treiber den gesamten Viewport (nicht die gesamte Oberfläche).
- Wenn NumRect- auf einen Wert festgelegt ist, der größer als 0 (NumRect!= 0) ist und D3DCLEAR_COMPUTERECTS in Flagsfestgelegt ist, schneidet der Treiber die rechteckigen Bereiche ab, die pRect für den aktuellen Viewport angibt.
Wenn NumRect- auf einen Wert festgelegt ist, der größer als 0 (NumRect> 0) ist und D3DCLEAR_COMPUTERECTS in Flagsfestgelegt ist, schneidet der Treiber die angegebenen rechteckigen Bereiche an den aktuellen Viewport und an das Scherenrechteck, wenn eine Anwendung zuvor D3DRS_SCISSORTESTENABLE festgelegt hat. Wenn NumRect> 0 und D3DCLEAR_COMPUTERECTS nicht festgelegt ist, bestimmt der Treiber, dass die Direct3D-Laufzeit die angegebenen rechteckigen Bereiche bereits auf den aktuellen Viewport zugeschnitten hat, und zum Scherenrechteck, wenn eine Anwendung zuvor D3DRS_SCISSORTESTENABLE festgelegt hat.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | d3dumddi.h (include D3dumddi.h) |