Version: 2018.3 (switch to 2019.1)
LanguageEnglish
  • C#

CommandBuffer.GetTemporaryRT

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 void GetTemporaryRT(int nameID, int width, int height, int depthBuffer, FilterMode filter, RenderTextureFormat format, RenderTextureReadWrite readWrite, int antiAliasing, bool enableRandomWrite);
public void GetTemporaryRT(int nameID, RenderTextureDescriptor desc, FilterMode filter);

Parameters

nameIDShader property name for this texture.
widthWidth in pixels, or -1 for "camera pixel width".
heightHeight in pixels, or -1 for "camera pixel height".
depthBufferDepth buffer bits (0, 16 or 24).
filterTexture filtering mode (default is Point).
formatFormat of the render texture (default is ARGB32).
readWriteColor space conversion mode.
antiAliasingAnti-aliasing (default is no anti-aliasing).
enableRandomWriteShould random-write access into the texture be enabled (default is false).
descUse this RenderTextureDescriptor for the settings when creating the temporary RenderTexture.
memorylessModeRender texture memoryless mode.

Description

Add a "get a temporary render texture" command.

This creates a temporary render texture with given parameters, and sets it up as a global shader property with nameID. Use Shader.PropertyToID to create the integer name.

Release the temporary render texture using ReleaseTemporaryRT, passing the same nameID. Any temporary textures that were not explicitly released will be removed after camera is done rendering, or after Graphics.ExecuteCommandBuffer is done.

After getting a temporary render texture, you can set it as active (SetRenderTarget) or blit to/from it (Blit). You do not explicitly need to preserve active render targets during command buffer execution (current render targets are saved & restored afterwards).

See Also: ReleaseTemporaryRT, SetRenderTarget, Blit.

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