PFND3DDDI_CLEAR funzione di callback (d3dumddi.h)
La funzione Clear esegue la cancellazione assistita dall'hardware nella destinazione di rendering, nel buffer di profondità o nel buffer stencil.
Sintassi
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Parametri
[in] hDevice
Handle per il dispositivo di visualizzazione (contesto grafico).
unnamedParam2
pData [in]
Puntatore a una struttura D3DDDIARG_CLEAR che descrive i parametri dell'operazione di cancellazione assistita dall'hardware.
unnamedParam3
NumRect [in]
Numero di rettangoli nella matrice in corrispondenza di pRect da cancellare. Se il numero di rettangoli è impostato su zero, Clear deve cancellare l'intera destinazione di rendering, il buffer di profondità e il buffer stencil. In questa situazione, il contenuto della matrice in pRect non è definito e il driver non deve tentare di leggerli.
unnamedParam4
pRect [in]
Matrice di strutture RECT che indicano le aree rettangolari del buffer che il driver deve cancellare.
Valore restituito
Cancella restituisce S_OK o un risultato di errore appropriato se l'operazione di cancellazione assistita dall'hardware non viene eseguita correttamente.
Commenti
Il funzionamento del driver dipende dal numero di aree rettangolari specificate nel parametro NumRect e dai valori impostati nel membro Flag di D3DDDIARG_CLEAR. I valori D3DCLEAR_TARGET, D3DCLEAR_STENCIL e D3DCLEAR_ZBUFFER (definiti in D3d8types.h) indicano il tipo di buffer da cancellare. Il valore D3DCLEAR_COMPUTERECTS (definito in D3dhal.h) indica come cancellare il buffer. Le impostazioni seguenti indicano come il driver deve cancellare il tipo di buffer specificato:
- Se NumRect è impostato su 0 (NumRect== 0) e D3DCLEAR_COMPUTERECTS non è impostato in Flag, il driver cancella 0 pixel (ovvero un no-op).
- Se NumRect è impostato su 0 e D3DCLEAR_COMPUTERECTS è impostato in Flag, il driver cancella l'intero riquadro di visualizzazione (non l'intera superficie).
- Se NumRect è impostato su un valore maggiore di 0 (NumRect!= 0) e D3DCLEAR_COMPUTERECTS è impostato in Flag, il driver ritaglia le aree rettangolari che pRect specifica sul viewport corrente.
Se NumRect è impostato su un valore maggiore di 0 (NumRect> 0) e D3DCLEAR_COMPUTERECTS è impostato in Flag, il driver ritaglia le aree rettangolari specificate sul riquadro di visualizzazione corrente e sul rettangolo scissor se un'applicazione è stata impostata in precedenza D3DRS_SCISSORTESTENABLE. Se NumRect> 0 e D3DCLEAR_COMPUTERECTS non è impostato, il driver determina che il runtime Direct3D ha già ritagliato le aree rettangolari specificate nel riquadro di visualizzazione corrente e nel rettangolo di scissor se un'applicazione è stata impostata in precedenza D3DRS_SCISSORTESTENABLE.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | d3dumddi.h (include D3dumddi.h) |