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.
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 |