Legacy Documentation: Version 5.2
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Graphics.Blit

Switch to Manual
public static void Blit(Texture source, RenderTexture dest);
public static void Blit(Texture source, RenderTexture dest, Material mat, int pass = -1);
public static void Blit(Texture source, Material mat, int pass = -1);

Parameters

source Source texture.
dest Destination RenderTexture, or null to blit directly to screen.
mat Material to use. Material's shader could do some post-processing effect, for example.
pass If -1 (default), draws all passes in the material. Otherwise, draws given pass only.

Description

Copies source texture into destination render texture with a shader.

This is mostly used for implementing image effects.

Blit sets dest as the render target, sets source _MainTex property on the material, and draws a full-screen quad.

Note that if you want to use depth or stencil buffer that is part of the source (Render)texture, you'll have to do equivalent of Blit functionality manually - i.e. Graphics.SetRenderTarget with destination color buffer and source depth buffer, setup orthographic projection (GL.LoadOrtho), setup material pass (Material.SetPass) and draw a quad (GL.Begin).

See Also: Graphics.BlitMultiTap, image effects.

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Texture aTexture; public RenderTexture rTex; void Start() { if (!aTexture || !rTex) Debug.LogError("A texture or a render texture are missing, assign them."); } void Update() { Graphics.Blit(aTexture, rTex); } }