unity-gpu-texture-resize
unity-gpu-texture-resize copied to clipboard
A method that allows for fast GPU resizing in the Unity Engine.
trafficstars
Why This Script Was Created
This class allows you to resize an image on the GPU.
Speeds
| Methods | Speeds | Source |
|---|---|---|
ResizeTool.Resize(..) |
00:00:40.89 | This Tool [FREE] |
UnityEngine.Texture2D.Resize(..) |
01:08:08.55 | Unity Method |
ResizePro.Resize(..) |
00:00:40.28 | ResizePro [PAID ASSET] |

Here is the process:
RenderTexture rt = RenderTexture.GetTemporary()create a temporary render texture with the target sizeRenderTexture.activeset the active RenderTexture to the temporary texture so we can read from itGraphics.Blit()Copies source texture into destination render texture with a shader (on the gpu) more infotexture2D.Resize()resize the texture to the target values (this sets the pixel data as undefined) more infotexture2D.ReadPixels()reads the pixel values from the temporary RenderTexture onto the resized texture more infotexture2D.Apply()actually upload the changed pixels to the graphics card more info