IDirect3DDevice9::SetRenderTarget method (d3d9helper.h)
Sets a new color buffer for the device.
Syntax
HRESULT SetRenderTarget(
[in] DWORD RenderTargetIndex,
[in] IDirect3DSurface9 *pRenderTarget
);
Parameters
[in] RenderTargetIndex
Type: DWORD
Index of the render target. See Remarks.
[in] pRenderTarget
Type: IDirect3DSurface9*
Pointer to a new color buffer. If NULL, the color buffer for the corresponding RenderTargetIndex is disabled. Devices always must be associated with a color buffer. The new render-target surface must have at least D3DUSAGE_RENDERTARGET specified.
Return value
Type: HRESULT
If the method succeeds, the return value is D3D_OK. This method will return D3DERR_INVALIDCALL if either:
- pRenderTarget = NULL and RenderTargetIndex = 0
- pRenderTarget is != NULL and the render target is invalid.
Remarks
The device can support multiple render targets. The number of render targets supported by a device is contained in the NumSimultaneousRTs member of D3DCAPS9. See Multiple Render Targets (Direct3D 9).
Setting a new render target will cause the viewport (see Viewports and Clipping (Direct3D 9)) to be set to the full size of the new 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:
- The multisample type must be the same for the render target and the depth stencil surface.
- The formats must be compatible for the render target and the depth stencil surface. See IDirect3D9::CheckDepthStencilMatch.
- The size of the depth stencil surface must be greater than or equal to the size of the render target.
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.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d9helper.h (include D3D9.h) |
Library | D3D9.lib |