Condividi tramite


PFND3D10DDI_SETRENDERTARGETS funzione di callback (d3d10umddi.h)

La SetRenderTargets set di funzioni di callback 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 di handle possono essere NULL.

[in] NumViews

: numero di elementi nella matrice che phRenderTargetView.

[in] ClearSlots

Numero di slot di destinazione di rendering dopo il numero di slot che NumViews specifica di essere impostato 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 chiamato SetRenderTargets) e il nuovo numero di oggetti visualizzazione di destinazione di rendering.

Si noti che il numero specificato 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 degli stencil di profondità.

Valore restituito

Nessuno

Osservazioni

Il driver può usare il pfnSetErrorCb funzione di callback 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 degli stencil di profondità in modo atomico come un'unica operazione.

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

L'intervallo di superfici di destinazione di rendering tra il numero NumViews specifica 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 passato un valore pari a 2 nel parametro NumViews e la chiamata corrente a SetRenderTargets passa un valore di 4 in NumViews, la chiamata corrente a SetRenderTargets passa anche un valore pari a 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 alcun errore, ad eccezione di D3DDDIERR_DEVICEREMOVED. Pertanto, se il driver passa qualsiasi errore, ad eccezione di D3DDDIERR_DEVICEREMOVED, in una chiamata alla funzionepfnSetErrorCb, il runtime Di Microsoft Direct3D determinerà che l'errore è critico. Anche se il dispositivo è stato rimosso, il driver non è necessario per 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.

Fabbisogno

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)

Vedere anche

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb