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 |
|
Confira também