Restores both projection and modelview matrices off the top of the matrix stack.
Changing modelview or projection matrices overrides current camera's parameters. These matrices can be saved and restored using GL.PushMatrix and GL.PopMatrix.
See Also: PushMatrix function.
// Draw a yellow line from the botton left to the
// top right of the screen
var mat : Material;
function OnPostRender() {
if (!mat) {
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix(); // Save the current state
mat.SetPass(0);
GL.LoadPixelMatrix();
GL.Color(Color.yellow);
GL.Begin(GL.LINES);
GL.Vertex3(0,0,0);
GL.Vertex3(Screen.width, Screen.height,0);
GL.End();
GL.PopMatrix(); // Pop changes.
}
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
public Material mat;
void OnPostRender() {
if (!mat) {
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(0);
GL.LoadPixelMatrix();
GL.Color(Color.yellow);
GL.Begin(GL.LINES);
GL.Vertex3(0, 0, 0);
GL.Vertex3(Screen.width, Screen.height, 0);
GL.End();
GL.PopMatrix();
}
}
import UnityEngine
import System.Collections
class example(MonoBehaviour):
public mat as Material
def OnPostRender():
if not mat:
Debug.LogError('Please Assign a material on the inspector')
return
GL.PushMatrix()
mat.SetPass(0)
GL.LoadPixelMatrix()
GL.Color(Color.yellow)
GL.Begin(GL.LINES)
GL.Vertex3(0, 0, 0)
GL.Vertex3(Screen.width, Screen.height, 0)
GL.End()
GL.PopMatrix()