Método IDirect3DDevice9::SetClipStatus (d3d9helper.h)
Define o clipe status.
Sintaxe
HRESULT SetClipStatus(
[in] const D3DCLIPSTATUS9 *pClipStatus
);
Parâmetros
[in] pClipStatus
Tipo: const D3DCLIPSTATUS9*
Ponteiro para uma estrutura D3DCLIPSTATUS9, descrevendo o clipe status configurações a serem definidas.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se um dos argumentos for inválido, o valor retornado será D3DERR_INVALIDCALL.
Comentários
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.
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.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |