Mode for Begin: draw triangle strip.
Draws triangles between each vertex passed, from the beginning to the end. If you pass five vertices, A, B, C, D and E, three triangles are drawn. The first triangle is drawn between the first 3 vertices. All subsequent triangles use the previous 2 vertices, plus the next additional vertex. In this example, the three drawn triangles will be A, B, C, followed by B, C, D, and finally C, D, E.
To set up the screen for drawing in 2D, use GL.LoadOrtho or GL.LoadPixelMatrix.
To set up the screen for drawing in 3D, use GL.LoadIdentity followed by GL.MultMatrix with the desired transformation matrix.
See Also: GL.Begin, GL.End.
// Draws 2 triangles in the left side of the screen // that look like a square
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.TRIANGLE_STRIP); GL.Color(Color(0,0,0,1)); GL.Vertex3(0.25,0.5,0); GL.Vertex3(0,0.5,0); GL.Vertex3(0.25,0.25,0); GL.Vertex3(0,0.25,0); 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.Begin(GL.TRIANGLE_STRIP); GL.Color(new Color(0, 0, 0, 1)); GL.Vertex3(0.25F, 0.5F, 0); GL.Vertex3(0, 0.5F, 0); GL.Vertex3(0.25F, 0.25F, 0); GL.Vertex3(0, 0.25F, 0); GL.End(); GL.PopMatrix(); } }
Did you find this page useful? Please give it a rating: