Helper function to set up an ortho perspective transform.
After calling LoadOrtho, the viewing frustum goes from (0,0,-1) to (1,1,100).
LoadOrtho can be used for drawing primitives in 2D.
// Draws a triangle over an already drawn triangle var mat : Material; function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadOrtho(); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(0.25,0.1351,0); GL.Vertex3(0.25,0.3,0); GL.Vertex3(0.5,0.3,0); GL.End(); GL.Color(Color.yellow); GL.Begin(GL.TRIANGLES); GL.Vertex3(0.5,0.25,-1); GL.Vertex3(0.5,0.1351,-1); GL.Vertex3(0.1,0.25,-1); GL.End(); GL.PopMatrix(); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Material mat; void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadOrtho(); GL.Color(Color.red); GL.Begin(GL.TRIANGLES); GL.Vertex3(0.25F, 0.1351F, 0); GL.Vertex3(0.25F, 0.3F, 0); GL.Vertex3(0.5F, 0.3F, 0); GL.End(); GL.Color(Color.yellow); GL.Begin(GL.TRIANGLES); GL.Vertex3(0.5F, 0.25F, -1); GL.Vertex3(0.5F, 0.1351F, -1); GL.Vertex3(0.1F, 0.25F, -1); GL.End(); GL.PopMatrix(); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public mat as Material def OnPostRender() as void: if not mat: Debug.LogError('Please Assign a material on the inspector') return GL.PushMatrix() mat.SetPass(0) GL.LoadOrtho() GL.Color(Color.red) GL.Begin(GL.TRIANGLES) GL.Vertex3(0.25F, 0.1351F, 0) GL.Vertex3(0.25F, 0.3F, 0) GL.Vertex3(0.5F, 0.3F, 0) GL.End() GL.Color(Color.yellow) GL.Begin(GL.TRIANGLES) GL.Vertex3(0.5F, 0.25F, -1) GL.Vertex3(0.5F, 0.1351F, -1) GL.Vertex3(0.1F, 0.25F, -1) GL.End() GL.PopMatrix()