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. |
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.
// Copies aTexture to rTex and displays it in all cameras.
var aTexture : Texture; var rTex : RenderTexture;
function Start() { if(!aTexture || !rTex) Debug.LogError("A texture or a render texture are missing, assign them."); }
function Update () { Graphics.Blit (aTexture, rTex); }
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); } }