Condividi tramite


Metodo IDirect3DDevice9::SetRenderTarget (d3d9.h)

Imposta un nuovo buffer di colore 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 di colori. Se NULL, il buffer di colore per il renderingTargetIndex 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 specificata.

Valore restituito

Tipo: HRESULT

Se il metodo ha esito positivo, il valore restituito è 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).

L'impostazione di una nuova destinazione di rendering causerà l'impostazione del riquadro di visualizzazione (vedere Viewports and Clipping (Direct3D 9) da impostare sulla dimensione completa della nuova destinazione di rendering.

Alcuni hardware testano la compatibilità del buffer di stencil di profondità con il buffer del colore. Se questa operazione viene eseguita, 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 di stencil di profondità.
  • I formati devono essere compatibili con la destinazione di rendering e la superficie di stencil di profondità. Vedere IDirect3D9::CheckDepthStencilMatch.
  • Le dimensioni della superficie 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 vengono chiamati uno dei metodi IDirect3DDevice9Draw.

Le trame del cubo differiscono da altre superfici in cui 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

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d9.h (includere D3D9.h)
Libreria D3D9.lib

Vedi anche

IDirect3DDevice9