GL.PushMatrix Manual     Reference     Scripting  
Scripting > Runtime Classes > GL
GL.PushMatrix

static function PushMatrix () : void

Description

Saves both projection and modelview matrices to 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: PopMatrix function.

JavaScript
// 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()