Condividi tramite


Metodo IDirect3DDevice9::SetRenderTarget (d3d9helper.h)

Imposta un nuovo buffer di colori per il dispositivo.

Sintassi

HRESULT SetRenderTarget(
  [in] DWORD             RenderTargetIndex,
  [in] IDirect3DSurface9 *pRenderTarget
);

Parametri

[in] RenderTargetIndex

Tipo: DWORD

Indice della destinazione di rendering. Vedere la sezione Osservazioni.

[in] pRenderTarget

Tipo: IDirect3DSurface9*

Puntatore a un nuovo buffer colori. Se NULL, il buffer dei colori per il renderTargetIndex corrispondente è disabilitato. I dispositivi devono essere sempre associati a un buffer di colori. La nuova superficie di destinazione di rendering deve avere almeno D3DUSAGE_RENDERTARGET specificato.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito viene D3D_OK. Questo metodo restituirà D3DERR_INVALIDCALL se:

  • pRenderTarget = NULL e RenderTargetIndex = 0
  • pRenderTarget è != NULL e la destinazione di rendering non è valida.

Commenti

Il dispositivo può supportare più destinazioni di rendering. Il numero di destinazioni di rendering supportate da un dispositivo è contenuto nel membro NumSimultaneousRTs di D3DCAPS9. Vedere Più destinazioni di rendering (Direct3D 9).

Se si imposta una nuova destinazione di rendering, il riquadro di visualizzazione (vedere Viewports and Clipping (Direct3D 9) verrà impostato sulle dimensioni complete della nuova destinazione di rendering.

Alcuni hardware testano la compatibilità del buffer degli stencil di profondità con il buffer dei colori. In questo caso, questa operazione viene eseguita solo in una compilazione di debug.

Le restrizioni per l'uso di questo metodo includono quanto segue:

  • Il tipo multisample deve essere lo stesso per la destinazione di rendering e la superficie dello stencil di profondità.
  • I formati devono essere compatibili per la destinazione di rendering e la superficie dello stencil di profondità. Vedere IDirect3D9::CheckDepthStencilMatch.
  • Le dimensioni della superficie dello stencil di profondità devono essere maggiori o uguali alle dimensioni della destinazione di rendering.
Queste restrizioni vengono convalidate solo quando si usa il runtime di debug quando viene chiamato uno dei metodi IDirect3DDevice9Draw.

Le trame del cubo differiscono dalle altre superfici in quanto sono raccolte di superfici. Per chiamare IDirect3DDevice9::SetRenderTarget con una trama del cubo, è necessario selezionare un singolo viso usando IDirect3DCubeTexture9::GetCubeMapSurface e passare la superficie risultante a IDirect3DDevice9::SetRenderTarget.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d9helper.h (include D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9