Condividi tramite


PFND3D10DDI_SETRENDERTARGETS funzione di callback (d3d10umddi.h)

La funzione di callback SetRenderTargets imposta le superfici di destinazione di rendering.

Sintassi

PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;

void Pfnd3d10ddiSetrendertargets(
  [in] D3D10DDI_HDEVICE unnamedParam1,
  [in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
  [in] UINT NumViews,
  [in] UINT ClearSlots,
  [in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}

Parametri

[in] unnamedParam1

hDevice: handle per il dispositivo di visualizzazione (contesto grafico).

[in] unnamedParam2

phRenderTargetView: matrice di handle per gli oggetti di visualizzazione di destinazione di rendering da impostare. Si noti che alcuni valori handle possono essere NULL.

[in] NumViews

: numero di elementi nella matrice specificata da phRenderTargetView .

[in] ClearSlots

Numero di slot di destinazione di rendering dopo il numero di slot specificati da NumViews su NULL. Questo numero rappresenta la differenza tra il numero precedente di oggetti visualizzazione di destinazione di rendering, ovvero quando il runtime di Microsoft Direct3D precedentemente denominato SetRenderTargets e il nuovo numero di oggetti visualizzazione di destinazione di rendering.

Si noti che il numero specificato da ClearTargets è solo un aiuto di ottimizzazione perché il driver di visualizzazione in modalità utente potrebbe calcolare questo numero.

[in] unnamedParam5

hDepthStencilView: handle per la visualizzazione depth stencil.

Valore restituito

nessuno

Osservazioni

Il driver può usare la funzione di callback pfnSetErrorCb per impostare un codice di errore.

Il driver di visualizzazione in modalità utente deve impostare tutte le superfici di destinazione di rendering e il buffer depth stencil in modo atomico come un'unica operazione.

Anche se il parametro NumViews specifica il numero di handle nella matrice specificata dal parametro phRenderTargetView , alcuni valori handle nella matrice possono essere NULL.

L'intervallo di superfici di destinazione di rendering tra il numero specificato da NumViews e il numero massimo di superfici di destinazione di rendering consentite deve contenere tutti i valori NULL o non associati. Il numero specificato dal parametro ClearTargets indica al driver il numero di punti di associazione che il driver deve cancellare per l'operazione atomica corrente.

Se la chiamata precedente a SetRenderTargets ha passato un valore pari a 2 nel parametro NumViews e la chiamata corrente a SetRenderTargets passa un valore pari a 4 in NumViews, la chiamata corrente a SetRenderTargets passa anche il valore 0 nel parametro ClearTargets . Se la successiva chiamata a SetRenderTargets passa un valore pari a 1 in NumViews, la chiamata successiva passa anche un valore pari a 3 (4 - 1) in ClearTargets.

Quando il valore delle destinazioni non crittografate viene richiesto durante le operazioni di query in modalità utente, il valore è la differenza tra il numero massimo di superfici di destinazione di rendering e il valore delle destinazioni 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 SetRenderTargets (che in genere non dovrebbe 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)

Vedi anche

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb