Version: 2021.1
LanguageEnglish
  • C#

CommandBuffer.ConvertTexture

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

Declaration

public void ConvertTexture(Rendering.RenderTargetIdentifier src, Rendering.RenderTargetIdentifier dst);

Declaration

public void ConvertTexture(Rendering.RenderTargetIdentifier src, int srcElement, Rendering.RenderTargetIdentifier dst, int dstElement);

Parameters

src Source texture.
dst Destination texture.
srcElement Source element (e.g. cubemap face). Set this to 0 for 2D source textures.
dstElement Destination element (e.g. cubemap face or texture array element).

Description

Converts and copies a source texture to a destination texture with a different format or dimensions.

This function provides an efficient way to convert between textures of different formats and dimensions. The destination texture format must be uncompressed and correspond to a RenderTextureFormat supported on the current device. You can use 2D and cubemap textures as the source and 2D, cubemap, 2D array and cubemap array textures as the destination. This function does not support conversion from cubemap to Texture2D. It also does not support RenderTexures. Instead, use Graphics.Blit.

This function operates only on GPU-side data. Use Texture2D.ReadPixels to get the pixels from GPU to CPU.

Due to API limitations, this function is not supported on DX9 or Mac+OpenGL. Some platforms don't support every type of texture conversion. This is because this function internally depends on functionality from Graphics.CopyTexture. To check if your target platform supports the type of texture conversion you are using, use SystemInfo.copyTextureSupport. For more information on compatibility, see Graphics.CopyTexture and CopyTextureSupport.

See Also: CopyTextureSupport.