Compartilhar via


PFND3D10DDI_SETSCISSORRECTS função de retorno de chamada (d3d10umddi.h)

A função SetScissorRects marca partes de destinos de renderização aos quais a renderização está restrita.

Sintaxe

PFND3D10DDI_SETSCISSORRECTS Pfnd3d10ddiSetscissorrects;

void Pfnd3d10ddiSetscissorrects(
       D3D10DDI_HDEVICE unnamedParam1,
  [in] UINT NumRects,
  [in] UINT ClearRects,
       const D3D10_DDI_RECT *unnamedParam4
)
{...}

Parâmetros

unnamedParam1

hDevice [in]

Um identificador para o dispositivo de exibição (contexto gráfico).

[in] NumRects

O número total de partes de destino de renderização especificadas pelo parâmetro pRects .

[in] ClearRects

O número de partes de destino de renderização após o número de partes de destino de renderização especificadas por NumScissorRects a serem definidas como NULL. Esse número representa a diferença entre o número anterior de partes de destino de renderização (ou seja, quando o runtime do Microsoft Direct3D anteriormente chamado SetScissorRects) e o novo número de partes de destino de renderização.

Observe que o número especificado por ClearScissorRects é apenas um auxílio de otimização porque o driver de exibição do modo de usuário pode calcular esse número.

unnamedParam4

pRects [in]

Uma matriz de estruturas RECT para as partes de destino de renderização a serem marcados.

Retornar valor

Nenhum

Comentários

O driver pode usar a função de retorno de chamada pfnSetErrorCb para definir um código de erro.

A estrutura D3D10_DDI_RECT é definida como uma estrutura RECT .

typedef RECT D3D10_DDI_RECT;

O driver de exibição do modo de usuário deve definir todas as partes de destino de renderização atomicamente como uma operação.

Embora o parâmetro NumScissorRects especifique o número de partes de destino de renderização na matriz especificada pelo parâmetro pRects , alguns valores na matriz podem ser NULL.

O intervalo de partes de destino de renderização entre o número especificado por NumScissorRects e o número máximo de partes de destino de renderização permitidas é necessário para conter todos os valores NULL ou não associados. O número que o parâmetro ClearScissorRects especifica informa ao driver sobre quantas partes de destino de renderização o driver deve limpar para a operação atômica atual.

Se a chamada anterior para SetScissorRects passou um valor de 2 no parâmetro NumScissorRects e a chamada atual para SetScissorRects passa um valor de 4 em NumScissorRects, a chamada atual para SetScissorRects também passa um valor de 0 no parâmetro ClearScissorRects . Se a próxima chamada sucessiva para SetScissorRects passar um valor de 1 em NumScissorRects, a chamada sucessiva também passará um valor de 3 (4 - 1) em ClearScissorRects.

Quando o valor de partes de destino de renderização clara é solicitado durante operações de consulta no modo de usuário, o valor é a diferença entre o número máximo de partes de destino de renderização e o valor das partes de destino de renderização.

O driver não deve encontrar nenhum erro, exceto por D3DDDIERR_DEVICEREMOVED. Portanto, se o driver passar algum erro, exceto por D3DDDIERR_DEVICEREMOVED, em uma chamada para a função pfnSetErrorCb , o runtime do Microsoft Direct3D determinará que o erro é crítico. Mesmo que o dispositivo tenha sido removido, o driver não precisará retornar D3DDDIERR_DEVICEREMOVED; no entanto, se a remoção do dispositivo interferiu na operação de SetScissorRects (o que normalmente não deve acontecer), o driver poderá retornar D3DDDIERR_DEVICEREMOVED.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Confira também

D3D10DDI_DEVICEFUNCS

RECT

pfnSetErrorCb