Legacy Documentation: Version 2018.1 (Go to current version)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

CommandBuffer.SetRenderTarget

Suggest a change

Success!

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

Submission failed

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

Cancel

public method SetRenderTarget(rt: Rendering.RenderTargetIdentifier): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier rt);
public method SetRenderTarget(rt: Rendering.RenderTargetIdentifier, mipLevel: int): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel);
public method SetRenderTarget(rt: Rendering.RenderTargetIdentifier, mipLevel: int, cubemapFace: CubemapFace): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace);
public method SetRenderTarget(rt: Rendering.RenderTargetIdentifier, mipLevel: int, cubemapFace: CubemapFace, depthSlice: int): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace, int depthSlice);
public method SetRenderTarget(color: Rendering.RenderTargetIdentifier, depth: Rendering.RenderTargetIdentifier): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth);
public method SetRenderTarget(color: Rendering.RenderTargetIdentifier, depth: Rendering.RenderTargetIdentifier, mipLevel: int): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel);
public method SetRenderTarget(color: Rendering.RenderTargetIdentifier, depth: Rendering.RenderTargetIdentifier, mipLevel: int, cubemapFace: CubemapFace): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace);
public method SetRenderTarget(color: Rendering.RenderTargetIdentifier, depth: Rendering.RenderTargetIdentifier, mipLevel: int, cubemapFace: CubemapFace, depthSlice: int): void;
public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace, int depthSlice);
public method SetRenderTarget(colors: RenderTargetIdentifier[], depth: Rendering.RenderTargetIdentifier): void;
public void SetRenderTarget(RenderTargetIdentifier[] colors, Rendering.RenderTargetIdentifier depth);

Parameters

rtRender target to set for both color & depth buffers.
colorRender target to set as a color buffer.
colorsRender targets to set as color buffers (MRT).
depthRender target to set as a depth buffer.
mipLevelThe mip level of the render target to render into.
cubemapFaceThe cubemap face of a cubemap render target to render into.
depthSliceSlice of a 3D or array render target to set.

Description

Add a "set active render target" command.

Render texture to use can be indicated in several ways: a RenderTexture object, a temporary render texture created with GetTemporaryRT, or one of built-in temporary textures (BuiltinRenderTextureType). All that is expressed by a RenderTargetIdentifier struct, which has implicit conversion operators to save on typing.

You do not explicitly need to preserve active render targets during command buffer execution (current render targets are saved & restored afterwards).

Variants with mipLevel and face arguments enable rendering into a specific mipmap level of a RenderTexture, or specific cubemap face of a cubemap RenderTexture.

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.

See Also: GetTemporaryRT, ClearRenderTarget, Blit, RenderTargetIdentifier.

Did you find this page useful? Please give it a rating: