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) |