Condividi tramite


Metodo IDirect3DDevice9::GetClipStatus (d3d9helper.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 è 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::DrawPrimitive 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 della 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 delle clip per un oggetto specifico, impostare ClipUnion e ClipIntersection sul valore iniziale e continuare il disegno.

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

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

Requisiti

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

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::SetClipStatus