Unity - Scripting API: Graphics.ConvertTexture
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.
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.
Parameters
| Parameter | Description |
|---|---|
| src | The source texture. The TextureDimension must be Tex2D or Cube. |
| dst | The destination texture. The TextureDimension must be Tex2D, Tex2DArray, Cube, or CubeArray. The texture must also be uncompressed and correspond to a supported RenderTextureFormat. |
| srcElement | The element in the source texture to copy from. Use CubemapFace if src is a Cubemap. Set the value to 0 if src is a 2D texture. |
| dstElement | The element in the source texture to copy to. For example, the CubemapFace in a Cubemap or the slice in a texture array. Set the value to 0 if `dst` is a 2D texture. |
Returns
bool
true if the method succeeded.
Description
Copies the pixel data from one texture, converts the data into a different format, and copies it into another texture.
This method converts and copies pixel data from one texture to another on the GPU.
When you use ConvertTexture, Unity does the following:
- Creates a temporary RenderTexture that matches the size and format of the
dsttexture. - Uses Graphics.Blit to copy from the
srctexture to the temporary render texture, and converts to the format ofdst. - Uses Graphics.CopyTexture to copy from the temporary render texture to the
dsttexture.
This means it might be faster to convert the texture before you load it into Unity. Alternatively, if you can create dst as a render texture (or a graphics texture with GraphicsTextureDescriptorFlags.RenderTarget enabled), you can use Graphics.Blit instead.
You can use textures with different sizes for src and dst.
ConvertTexture doesn't support the following conversions:
- Cubemap to Texture2D.
- Conversions that use render targets (RenderTextures or GraphicsTextures that have the RenderTarget flag enabled). Use Graphics.Blit instead.