End drawing 3D primitives.
In OpenGL this matches glEnd
; on other graphics APIs the same
functionality is emulated.
See Also: GL.Begin.
// Draws a Triangle, a Quad and a line // with different colors
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.Begin(GL.TRIANGLES); // Triangle GL.Color(Color(1,1,1,1)); GL.Vertex3(0.50,0.25,0); GL.Vertex3(0.25,0.25,0); GL.Vertex3(0.375,0.5,0); GL.End(); // End drawing Triangle GL.Begin(GL.QUADS); // Quad GL.Color(Color(0.5,0.5,0.5,1)); GL.Vertex3(0.5,0.5,0); GL.Vertex3(0.5,0.75,0); GL.Vertex3(0.75,0.75,0); GL.Vertex3(0.75,0.5,0); GL.End(); // End drawing quad GL.Begin(GL.LINES); // Line GL.Color(Color(0,0,0,1)); GL.Vertex3(0,0,0); GL.Vertex3(0.75,0.75,0); GL.End(); // End drawing Line 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.Begin(GL.TRIANGLES); GL.Color(new Color(1, 1, 1, 1)); GL.Vertex3(0.5F, 0.25F, 0); GL.Vertex3(0.25F, 0.25F, 0); GL.Vertex3(0.375F, 0.5F, 0); GL.End(); GL.Begin(GL.QUADS); GL.Color(new Color(0.5F, 0.5F, 0.5F, 1)); GL.Vertex3(0.5F, 0.5F, 0); GL.Vertex3(0.5F, 0.75F, 0); GL.Vertex3(0.75F, 0.75F, 0); GL.Vertex3(0.75F, 0.5F, 0); GL.End(); GL.Begin(GL.LINES); GL.Color(new Color(0, 0, 0, 1)); GL.Vertex3(0, 0, 0); GL.Vertex3(0.75F, 0.75F, 0); GL.End(); GL.PopMatrix(); } }