Share via


Metodo ID3D10Device::OMSetRenderTargets (d3d10.h)

Associare una o più destinazioni di rendering e il buffer di profondità-stencil alla fase di fusione di output.

Sintassi

void OMSetRenderTargets(
  [in] UINT                   NumViews,
  [in] ID3D10RenderTargetView * const *ppRenderTargetViews,
  [in] ID3D10DepthStencilView *pDepthStencilView
);

Parametri

[in] NumViews

Tipo: UINT

Numero di destinazioni di rendering da associare.

[in] ppRenderTargetViews

Tipo: ID3D10RenderTargetView*

Puntatore a una matrice di destinazioni di rendering (vedere ID3D10RenderTargetView) da associare al dispositivo. Se questo parametro è NULL, non sono associate destinazioni di rendering. Vedere la sezione Osservazioni.

[in] pDepthStencilView

Tipo: ID3D10DepthStencilView*

Puntatore a una visualizzazione profondità-stencil (vedere ID3D10DepthStencilView) da associare al dispositivo. Se questo parametro è NULL, lo stato profondità-stencil non è associato.

Valore restituito

nessuno

Osservazioni

Una chiamata a OMSetRenderTargets esegue l'override di tutte le destinazioni di rendering associate e la destinazione di stencil di profondità indipendentemente dal numero di destinazioni di rendering in ppRenderTargetViews.

Il numero massimo di destinazioni di rendering che un dispositivo può avere attivo in qualsiasi momento viene impostato da un #define in D3D10.h denominato D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT. Non è valido provare a impostare la stessa sottoresource su più slot di destinazione di rendering.

Se le sottoresource sono attualmente associate anche per la lettura o la scrittura (forse in una parte diversa della pipeline), tali punti di associazione saranno NULL'ed out per impedire che la stessa sottoresource venga letto e scritto simultaneamente in una singola operazione di rendering.

Il metodo non contiene riferimenti alle interfacce passate. Per questo motivo, le applicazioni devono prestare attenzione a non rilasciare interfacce attualmente in uso dal dispositivo.

Per altre informazioni sulle risorse di associazione, vedere Le fasi delle risorse di associazione e della pipeline .

Il pixel shader deve essere in grado di eseguire contemporaneamente il rendering in almeno otto destinazioni di rendering separate. Tutte queste destinazioni di rendering devono accedere allo stesso tipo di risorsa: Buffer, Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D o TextureCube. Tutte le destinazioni di rendering devono avere le stesse dimensioni in tutte le dimensioni (larghezza e altezza e profondità per 3D o dimensioni della matrice per i tipi di matrice). Se le destinazioni di rendering usano l'anti-aliasing multisample, tutte le destinazioni di rendering associate e il buffer di profondità devono essere la stessa forma di risorsa multisample, ovvero i conteggi di esempio devono essere uguali. Ogni destinazione di rendering può avere un formato di dati diverso. Questi formati di destinazione di rendering non sono necessari per avere conteggi di bit per elemento identici.

Qualsiasi combinazione di otto slot per le destinazioni di rendering può avere un set di destinazione di rendering o meno impostato.

La stessa visualizzazione risorsa non può essere associata a più slot di destinazione di rendering contemporaneamente. È tuttavia possibile impostare più visualizzazioni di risorse non sovrapposte di una singola risorsa come destinazioni di rendering simultanee.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d10.h
Libreria D3D10.lib

Vedi anche

Interfaccia ID3D10Device