Select whether to invert the backface culling (true) or not (false).
// Draws 2 yellow triangles and makes them appear/dissapear // depending on the vertex draw order // Notice that everything on the scene will suffer from the revert // backfacing as well var mat : Material; var swap : boolean = false; function Update() { if(Input.GetKeyDown(KeyCode.Space)) { if(swap) { swap = false; } else { swap = true; } } } function OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadOrtho(); GL.Color(Color.yellow); GL.Begin(GL.TRIANGLES); GL.SetRevertBackfacing(swap); GL.Vertex3(0,0,0); GL.Vertex3(1,1,0); GL.Vertex3(0,1,0); GL.Vertex3(0,0,0); GL.Vertex3(1,1,0); GL.Vertex3(1,0,0); GL.End(); GL.PopMatrix(); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Material mat; public bool swap = false; void Update() { if (Input.GetKeyDown(KeyCode.Space)) if (swap) swap = false; else swap = true; } void OnPostRender() { if (!mat) { Debug.LogError("Please Assign a material on the inspector"); return; } GL.PushMatrix(); mat.SetPass(0); GL.LoadOrtho(); GL.Color(Color.yellow); GL.Begin(GL.TRIANGLES); GL.SetRevertBackfacing(swap); GL.Vertex3(0, 0, 0); GL.Vertex3(1, 1, 0); GL.Vertex3(0, 1, 0); GL.Vertex3(0, 0, 0); GL.Vertex3(1, 1, 0); GL.Vertex3(1, 0, 0); GL.End(); GL.PopMatrix(); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public mat as Material public swap as bool = false def Update() as void: if Input.GetKeyDown(KeyCode.Space): if swap: swap = false else: swap = true 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.yellow) GL.Begin(GL.TRIANGLES) GL.SetRevertBackfacing(swap) GL.Vertex3(0, 0, 0) GL.Vertex3(1, 1, 0) GL.Vertex3(0, 1, 0) GL.Vertex3(0, 0, 0) GL.Vertex3(1, 1, 0) GL.Vertex3(1, 0, 0) GL.End() GL.PopMatrix()