Camera.Render

function Render () : void

Description

Render the camera manually.

This will render the camera. It will use the camera's clear flags, target texture and all other settings.

The camera will send OnPreCull, OnPreRender & OnPostRender to any scripts attached, and render any eventual image filters.

This is used for taking precise control of render order. To make use of this feature, create a camera and disable it. Then call Render on it.

You are not able to call the Render function from a camera that is currently rendering. If you wish to do this create a copy of the camera, and make it match the original one using CopyFrom.

See Also: RenderWithShader.

JavaScript
    // Take a "screenshot" of a camera's Render Texture.
function RTImage(cam: Camera) {
// The Render Texture in RenderTexture.active is the one
// that will be read by ReadPixels.
var currentRT = RenderTexture.active;
RenderTexture.active = cam.targetTexture;

// Render the camera's view.
cam.Render();

// Make a new texture and read the active Render Texture into it.
var image = new Texture2D(cam.targetTexture.width, cam.targetTexture.height);
image.ReadPixels(new Rect(0, 0, cam.targetTexture.width, cam.targetTexture.height), 0, 0);

// Replace the original active Render Texture.
RenderTexture.active = currentRT;
return image;
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
Texture2D RTImage(Camera cam) {
RenderTexture currentRT = RenderTexture.active;
RenderTexture.active = cam.targetTexture;
cam.Render();
Texture2D image = new Texture2D(cam.targetTexture.width, cam.targetTexture.height);
image.ReadPixels(new Rect(0, 0, cam.targetTexture.width, cam.targetTexture.height), 0, 0);
RenderTexture.active = currentRT;
return image;
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def RTImage(cam as Camera) as Texture2D:
currentRT as RenderTexture = RenderTexture.active
RenderTexture.active = cam.targetTexture
cam.Render()
image as Texture2D = Texture2D(cam.targetTexture.width, cam.targetTexture.height)
image.ReadPixels(Rect(0, 0, cam.targetTexture.width, cam.targetTexture.height), 0, 0)
RenderTexture.active = currentRT
return image