Режим для Begin: визуализация четырехугольников.
Если вы хотите визуализировать что-то в 2D в пространстве экрана, то,
probably you will want to use GL.LoadOrtho or GL.LoadPixelMatrix.
Если вы хотите визуализировать что-то в "3D", то, вероятно, вы захотите
использовать GL.LoadIdentity и затем GL.MultMatrix с
3D transform, внутри которого вы хотите произвести визуализацию.
See Also: GL.Begin, GL.End.
// Draw red a rombus on the screen // and also draw a small cyan Quad in the left corner 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.QUADS); GL.Color(Color.red); GL.Vertex3(0,0.5,0); GL.Vertex3(0.5,1,0); GL.Vertex3(1,0.5,0); GL.Vertex3(0.5,0,0);
GL.Color(Color.cyan); GL.Vertex3(0,0,0); GL.Vertex3(0,0.25,0); GL.Vertex3(0.25,0.25,0); GL.Vertex3(0.25,0,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.QUADS); GL.Color(Color.red); GL.Vertex3(0, 0.5F, 0); GL.Vertex3(0.5F, 1, 0); GL.Vertex3(1, 0.5F, 0); GL.Vertex3(0.5F, 0, 0); GL.Color(Color.cyan); GL.Vertex3(0, 0, 0); GL.Vertex3(0, 0.25F, 0); GL.Vertex3(0.25F, 0.25F, 0); GL.Vertex3(0.25F, 0, 0); GL.End(); GL.PopMatrix(); } }