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 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.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
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.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()