Version: 2017.2
public static void Begin (int mode);

参数

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

描述

开始绘制 3D 图元。

在 OpenGL 中,这与 glBegin 相匹配;在其他图形 API 中,对应的 功能是模拟实现的。在 GL.Begin 与 GL.End 之间,调用 GL.Vertex、GL.Color、GL.TexCoord 和其他即时模式绘制 函数是有效的。

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

另请参阅:GL.End

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(); } }