PFND3D10DDI_SETSCISSORRECTS funzione di callback (d3d10umddi.h)
La funzione SetScissorRects contrassegna parti delle destinazioni di rendering a cui il rendering è limitato.
Sintassi
PFND3D10DDI_SETSCISSORRECTS Pfnd3d10ddiSetscissorrects;
void Pfnd3d10ddiSetscissorrects(
D3D10DDI_HDEVICE unnamedParam1,
[in] UINT NumRects,
[in] UINT ClearRects,
const D3D10_DDI_RECT *unnamedParam4
)
{...}
Parametri
unnamedParam1
hDevice [in]
Handle per il dispositivo di visualizzazione (contesto grafico).
[in] NumRects
Numero totale di parti di destinazione di rendering specificate dal parametro pRects .
[in] ClearRects
Numero di parti di destinazione di rendering dopo il numero di parti di destinazione di rendering specificate da NumScissorRects su NULL. Questo numero rappresenta la differenza tra il numero precedente di parti di destinazione di rendering, ovvero quando il runtime di Microsoft Direct3D precedentemente denominato SetScissorRects e il nuovo numero di parti di destinazione di rendering.
Si noti che il numero specificato da ClearScissorRects è solo un aiuto di ottimizzazione perché il driver di visualizzazione in modalità utente potrebbe calcolare questo numero.
unnamedParam4
pRects [in]
Matrice di strutture RECT per le parti di destinazione di rendering da contrassegnare.
Valore restituito
nessuno
Osservazioni
Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.
La struttura D3D10_DDI_RECT è definita come struttura RECT .
typedef RECT D3D10_DDI_RECT;
Il driver di visualizzazione in modalità utente deve impostare tutte le parti di destinazione di rendering in modo atomico come un'unica operazione.
Sebbene il parametro NumScissorRects specifichi il numero di parti di destinazione di rendering nella matrice specificata dal parametro pRects , alcuni valori nella matrice possono essere NULL.
Intervallo di parti di destinazione di rendering tra il numero specificato da NumScissorRects e il numero massimo di parti di destinazione di rendering consentite per contenere tutti i valori NULL o non associati. Il numero specificato dal parametro ClearScissorRects indica al driver il numero di parti di destinazione di rendering che il driver deve cancellare per l'operazione atomica corrente.
Se la chiamata precedente a SetScissorRects ha passato un valore pari a 2 nel parametro NumScissorRects e la chiamata corrente a SetScissorRects passa un valore pari a 4 in NumScissorRects, la chiamata corrente a SetScissorRects passa anche il valore 0 nel parametro ClearScissorRects . Se la successiva chiamata a SetScissorRects passa un valore pari a 1 in NumScissorRects, la chiamata successiva passa anche un valore pari a 3 (4 - 1) in ClearScissorRects.
Quando il valore delle parti di destinazione di rendering non crittografate viene richiesto durante le operazioni di query in modalità utente, il valore è la differenza tra il numero massimo di parti di destinazione di rendering e il valore delle parti di destinazione di rendering.
Il driver non deve riscontrare errori, ad eccezione di D3DDDIERR_DEVICEREMOVED. Pertanto, se il driver passa qualsiasi errore, ad eccezione di D3DDDIERR_DEVICEREMOVED, in una chiamata alla funzione pfnSetErrorCb , il runtime di Microsoft Direct3D determinerà che l'errore è critico. Anche se il dispositivo è stato rimosso, il driver non deve restituire D3DDDIERR_DEVICEREMOVED; Tuttavia, se la rimozione del dispositivo interferisce con l'operazione di SetScissorRects (che in genere non deve verificarsi), il driver può restituire D3DDDIERR_DEVICEREMOVED.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | d3d10umddi.h (include D3d10umddi.h) |