Select your preferred scripting language. All code snippets will be displayed in this language.
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()