Condividi tramite


Metodo IDirect3DDevice9::GetClipStatus (d3d9.h)

Recupera lo stato della clip.

Sintassi

HRESULT GetClipStatus(
  [out] D3DCLIPSTATUS9 *pClipStatus
);

Parametri

[out] pClipStatus

Tipo: D3DCLIPSTATUS9*

Puntatore a una struttura D3DCLIPSTATUS9 che descrive lo stato della clip.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene D3D_OK.

D3DERR_INVALIDCALL viene restituito se l'argomento non è valido.

Commenti

Quando il ritaglio è abilitato durante l'elaborazione dei vertici (da IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive o altre funzioni di disegno), Direct3D calcola un codice clip per ogni vertice. Il codice clip è una combinazione di bit D3DCS_*. Quando un vertice si trova all'esterno di un determinato piano di ritaglio, il bit corrispondente viene impostato nel codice di ritaglio. Direct3D mantiene lo stato del clip usando D3DCLIPSTATUS9, che include membri ClipUnion e ClipIntersection. ClipUnion è un "OR" bit per bit di tutti i codici clip vertice e ClipIntersection è un "AND" bit per bit di tutti i codici clip vertice. I valori iniziali sono zero per ClipUnion e 0xFFFFFFFF per ClipIntersection. Quando D3DRS_CLIPPING è impostato su FALSE, ClipUnion e ClipIntersection sono impostati su zero. Direct3D aggiorna lo stato della clip durante le chiamate di disegno. Per calcolare lo stato della clip per un particolare oggetto, impostare ClipUnion e ClipIntersection sul valore iniziale e continuare a disegnare.

Lo stato delle clip non viene aggiornato da IDirect3DDevice9::D rawRectPatch e IDirect3DDevice9::D rawTriPatch perché non esiste alcuna emulazione software.

Lo stato clip viene usato durante l'elaborazione dei vertici software. Pertanto, questo metodo non è supportato nei dispositivi di elaborazione hardware puri o non di acquisto. Per altre informazioni sui dispositivi puri, vedere D3DCREATE.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::SetClipStatus