A method that allows for fast GPU resizing in the Unity Engine.
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] |
RenderTexture rt = RenderTexture.GetTemporary()
create a temporary render texture with the target sizeRenderTexture.active
set 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 info
texture2D.Resize()
resize the texture to the target values (this sets the pixel data as undefined) more info
texture2D.ReadPixels()
reads the pixel values from the temporary RenderTexture onto the resized texture more info
texture2D.Apply()
actually upload the changed pixels to the graphics card more info