获取 RenderTexture 的几种方式

RenderTexture Constructor

public class ExampleClass : MonoBehaviour {
    public RenderTexture rt;
    void Start() {
        rt = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32);
    }
}

RenderTexture.GetTemporary

This function is optimized for when you need a quick RenderTexture to do some temporary calculations.

CommandBuffer.GetTemporaryRT()

Add a “get a temporary render texture” command.

RenderTexture Assets

通过编辑器创建 RT 资源文件,Assets -> Create -> Render Texture

Camera.OnRenderImage

public class Example : MonoBehaviour
{
    Material material;
    void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        // Copy the source Render Texture to the destination,
        // applying the material along the way.
        Graphics.Blit(source, destination, material);
    }
}

GrabPass

在 Shader 中使用 GrabPass 获取 RT

GrabPass
 {
    "_BackgroundTexture"
}

你可能感兴趣的:(Unity)