Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.Close
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.Close
|RenderTexture to set as active render target.
|Mipmap level to render into (use 0 if not mipmapped).
|Cubemap face to render into (use Unknown if not a cubemap).
|Depth slice to render into (use 0 if not a 3D or 2DArray render target).
|Color buffer to render into.
|Depth buffer to render into.
|Color buffers to render into (for multiple render target effects).
|Full render target setup information.
Sets current render target.
This function sets which RenderTexture or a RenderBuffer combination will be
rendered into next. Use it when implementing custom rendering algorithms, where
you need to render something into a render texture manually.
Variants with mipLevel and face arguments enable rendering into a specific mipmap level of a render texture, or specific cubemap face of a cubemap RenderTexture. Variants with depthSlice allow rendering into a specific slice of a 3D or 2DArray render texture.
The function call with colorBuffers array enables techniques that use Multiple Render Targets (MRT), where fragment shader can output more than one final color.
Calling SetRenderTarget with just a RenderTexture argument is the same as setting RenderTexture.active property.
Note that in Linear color space, it is important to have the correct sRGB<->Linear color conversion state set. Depending on what was rendered previously, the current state might not be the one you expect. You should consider setting GL.sRGBWrite as you need it before doing SetRenderTarget or any other manual rendering.
Additional resources: RenderTexture, Graphics.activeColorBuffer, Graphics.activeDepthBuffer, SystemInfo.supportedRenderTargetCount.