public static void Begin (int mode);

Parameters

mode要绘制的图元:可以为 TRIANGLESTRIANGLE_STRIPQUADSLINES

Description

开始绘制 3D 图元。

In OpenGL this matches glBegin; on other graphics APIs the same functionality is emulated. Between GL.Begin and GL.End it is valid to call GL.Vertex, GL.Color, GL.TexCoord and other immediate mode drawing functions.

在亲自绘制图元时,您应仔细进行剔除。根据运行游戏 所在的图形 API,剔除规则可能不同。在大多数情况下, 最安全的方式是在着色器中使用 Cull Off 命令。

另请参阅:GL.End

using UnityEngine;

public class Example : MonoBehaviour { // Draws a Triangle, a Quad and a line // with different colors

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); // Triangle GL.Color(new Color(1, 1, 1, 1)); GL.Vertex3(0.50f, 0.25f, 0); GL.Vertex3(0.25f, 0.25f, 0); GL.Vertex3(0.375f, 0.5f, 0); GL.End();

GL.Begin(GL.QUADS); // Quad 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); // Line GL.Color(new Color(0, 0, 0, 1)); GL.Vertex3(0, 0, 0); GL.Vertex3(0.75f, 0.75f, 0); GL.End(); GL.PopMatrix(); } }