Método IDirect3DDevice9::GetClipStatus (d3d9helper.h)

Recupera o clipe status.

Sintaxe

HRESULT GetClipStatus(
  [out] D3DCLIPSTATUS9 *pClipStatus
);

Parâmetros

[out] pClipStatus

Tipo: D3DCLIPSTATUS9*

Ponteiro para uma estrutura de D3DCLIPSTATUS9 que descreve o clipe status.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK.

D3DERR_INVALIDCALL será retornado se o argumento for inválido.

Comentários

Quando o recorte é habilitado durante o processamento de vértice (por IDirect3DDevice9::P rocessVertices, IDirect3DDevice9::D rawPrimitive ou outras funções de desenho), o Direct3D calcula um código de clipe para cada vértice. O código de clipe é uma combinação de bits D3DCS_*. Quando um vértice está fora de um plano de recorte específico, o bit correspondente é definido no código de recorte. O Direct3D mantém o clipe status usando D3DCLIPSTATUS9, que tem membros ClipUnion e ClipIntersection. ClipUnion é um "OR" bit a bit de todos os códigos de clipe de vértice e ClipIntersection é um "AND" bit a bit de todos os códigos de clipe de vértice. Os valores iniciais são zero para ClipUnion e 0xFFFFFFFF para ClipIntersection. Quando D3DRS_CLIPPING é definido como FALSE, ClipUnion e ClipIntersection são definidos como zero. O Direct3D atualiza o clipe status durante chamadas de desenho. Para calcular status de clipe para um objeto específico, defina ClipUnion e ClipIntersection como seu valor inicial e continue desenhando.

O clip status não é atualizado por IDirect3DDevice9::D rawRectPatch e IDirect3DDevice9::D rawTriPatch porque não há emulação de software para eles.

O clip status é usado durante o processamento de vértice de software. Portanto, esse método não tem suporte em dispositivos de processamento de hardware puros ou não depuração. Para obter mais informações sobre dispositivos puros, consulte D3DCREATE.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

IDirect3DDevice9

IDirect3DDevice9::SetClipStatus