Partilhar 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 que o pRects parâmetro especifica.

[in] ClearRects

O número de partes de destino de renderização após o número de partes de destino de renderização que NumScissorRects especifica a ser definida 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 que ClearScissorRects especifica é apenas um auxílio de otimização porque o driver de exibição no 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.

Valor de retorno

Nenhum

Observações

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

A estrutura de D3D10_DDI_RECT é definida como uma estrutura de 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 que NumScissorRects especifica 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 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 passar 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 a 1) em ClearScissorRects.

Quando o valor das partes de destino de renderização claras é 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 será necessário para 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
de cliente com suporte mínimo Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
da Plataforma de Destino Área de trabalho
cabeçalho d3d10umddi.h (inclua D3d10umddi.h)

Consulte também

D3D10DDI_DEVICEFUNCS

RECT

pfnSetErrorCb