Condividi tramite


Metodo IDirect3DDevice9::SetClipStatus (d3d9.h)

Imposta lo stato della clip.

Sintassi

HRESULT SetClipStatus(
  [in] const D3DCLIPSTATUS9 *pClipStatus
);

Parametri

[in] pClipStatus

Tipo: const D3DCLIPSTATUS9*

Puntatore a una struttura D3DCLIPSTATUS9 , che descrive le impostazioni di stato della clip da impostare.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è D3D_OK. Se uno degli argomenti non è valido, il valore restituito è D3DERR_INVALIDCALL.

Commenti

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.

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 ha 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.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9.h (includere D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::GetClipStatus