PFND3DDDI_CLEAR função de retorno de chamada (d3dumddi.h)
A função Clear executa a limpeza assistida por hardware no destino de renderização, no buffer de profundidade ou no buffer de estêncil.
Sintaxe
PFND3DDDI_CLEAR Pfnd3dddiClear;
HRESULT Pfnd3dddiClear(
[in] HANDLE hDevice,
const D3DDDIARG_CLEAR *unnamedParam2,
UINT unnamedParam3,
const RECT *unnamedParam4
)
{...}
Parâmetros
[in] hDevice
Um identificador para o dispositivo de exibição (contexto gráfico).
unnamedParam2
pData [in]
Um ponteiro para uma estrutura D3DDDIARG_CLEAR que descreve os parâmetros da operação de limpeza assistida por hardware.
unnamedParam3
NumRect [in]
O número de retângulos na matriz em pRect a serem limpos. Se o número de retângulos estiver definido como zero, Clear deverá limpar todo o destino de renderização, o buffer de profundidade e o buffer de estêncil. Nessa situação, o conteúdo da matriz em pRect é indefinido e o driver não deve tentar lê-los.
unnamedParam4
pRect [in]
Uma matriz de estruturas RECT que indicam as áreas retangulares do buffer que o driver deve limpar.
Retornar valor
Clear retornará S_OK ou um resultado de erro apropriado se a operação de limpeza assistida por hardware não for executada com êxito.
Comentários
A forma como o driver executa a operação clara depende do número de áreas retangulares especificadas no parâmetro NumRect e dos valores definidos no membro Flags do D3DDDIARG_CLEAR. Os valores D3DCLEAR_TARGET, D3DCLEAR_STENCIL e D3DCLEAR_ZBUFFER (definidos em D3d8types.h) indicam o tipo de buffer a ser limpo. O valor D3DCLEAR_COMPUTERECTS (definido em D3dhal.h) indica como limpar o buffer. As seguintes configurações indicam como o driver deve limpar o tipo de buffer especificado:
- Se NumRect estiver definido como 0 (NumRect== 0) e D3DCLEAR_COMPUTERECTS não estiver definido em Sinalizadores, o driver limpará 0 pixels (ou seja, uma não operação).
- Se NumRect estiver definido como 0 e D3DCLEAR_COMPUTERECTS estiver definido em Sinalizadores, o driver limpará todo o visor (não toda a superfície).
- Se NumRect for definido como um valor maior que 0 (NumRect!= 0) e D3DCLEAR_COMPUTERECTS for definido em Sinalizadores, o driver cortará as áreas retangulares especificadas pelo pRect no visor atual.
Se NumRect for definido como um valor maior que 0 (NumRect> 0) e D3DCLEAR_COMPUTERECTS for definido em Sinalizadores, o driver cortará as áreas retangulares especificadas para o visor atual e para o retângulo de tesoura se um aplicativo tiver definido anteriormente D3DRS_SCISSORTESTENABLE. Se NumRect> 0 e D3DCLEAR_COMPUTERECTS não estiverem definidos, o driver determinará que o runtime do Direct3D já cortou as áreas retangulares especificadas para o visor atual e para o retângulo de tesoura se um aplicativo tiver definido anteriormente D3DRS_SCISSORTESTENABLE.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |