Share via


Metodo IDirect3DDevice9::SetClipStatus (d3d9helper.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 del clip da impostare.

Valore restituito

Tipo: HRESULT

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

Commenti

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.

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.

Requisiti

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

Vedi anche

IDirect3DDevice9

IDirect3DDevice9::GetClipStatus