Microsoft DirectX 9.0

IDirect3DDevice9::SetRenderTarget Method

Sets a new color buffer for the device.


HRESULT SetRenderTarget(      

    DWORD RenderTargetIndex,     IDirect3DSurface9 *pRenderTarget );


[in] Index of the render target. See Remarks.
[in] Pointer to a new color buffer. If NULL, the color buffer for the corresponding RenderTargetIndex is disabled. If this parameter is other than NULL, the reference count on the new render target is incremented. Devices always must be associated with a color buffer.

The new render target surface must have at least D3DUSAGE_RENDERTARGET specified.

Return Value

If the method succeeds, the return value is D3D_OK.

This method will return D3DERR_INVALIDCALL if either:


The device can now support multiple render targets. The number of render targets supported by a device is contained in the NumSimultaneousRTs member of D3DCAPS9. See Multiple Render Target.

Some hardware tests the compatibility of the depth stencil buffer with the color buffer. If this is done, it is only done in a debug build.

Restrictions for using this method include the following:

These restrictions are validated only when using the debug runtime when any of the IDirect3DDevice9?I>Draw methods are called.

Cube textures differ from other surfaces in that they are collections of surfaces. To call IDirect3DDevice9::SetRenderTarget with a cube texture, you must select an individual face using IDirect3DCubeTexture9::GetCubeMapSurface and pass the resulting surface to IDirect3DDevice9::SetRenderTarget.

© 2002 Microsoft Corporation. All rights reserved.