Estrutura D3DCLIPSTATUS9

Descreve o status de clipe atual.

Sintaxe

typedef struct D3DCLIPSTATUS9 {
  DWORD ClipUnion;
  DWORD ClipIntersection;
} D3DCLIPSTATUS9, *LPD3DCLIPSTATUS9;

Membros

Clipunion

Tipo: DWORD

Sinalizadores de união de clipes que descrevem o clipe atual status. Esse membro pode ser um ou mais dos seguintes sinalizadores:

Valor Significado
D3DCS_ALL
Combinação de todos os sinalizadores de clipe.
D3DCS_LEFT
Todos os vértices são recortados pelo plano esquerdo do frusto de exibição.
D3DCS_RIGHT
Todos os vértices são recortados pelo plano direito do frusto de exibição.
D3DCS_TOP
Todos os vértices são recortados pelo plano superior do frusto de exibição.
D3DCS_BOTTOM
Todos os vértices são recortados pelo plano inferior do frusto de exibição.
D3DCS_FRONT
Todos os vértices são recortados pelo plano frontal do frusto de exibição.
D3DCS_BACK
Todos os vértices são recortados pelo plano traseiro do frusto de exibição.
D3DCS_PLANE0
Planos de recorte definidos pelo aplicativo.
D3DCS_PLANE1
Planos de recorte definidos pelo aplicativo.
D3DCS_PLANE2
Planos de recorte definidos pelo aplicativo.
D3DCS_PLANE3
Planos de recorte definidos pelo aplicativo.
D3DCS_PLANE4
Planos de recorte definidos pelo aplicativo.
D3DCS_PLANE5
Planos de recorte definidos pelo aplicativo.

 

Clipintersection

Tipo: DWORD

Recortar sinalizadores de interseção que descrevem o clipe atual status. Esse membro pode pegar os mesmos sinalizadores que ClipUnion.

Comentários

Quando o recorte é habilitado durante o processamento de vértice (por ProcessVertices, DrawPrimitive 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 DrawRectPatch e DrawTriPatch porque não há emulação de software para eles.

Requisitos

Requisito Valor
parâmetro
D3D9Types.h

Confira também

Estruturas Direct3D

GetClipStatus

SetClipStatus