GL.Begin
Declaration
public static void Begin(int mode);Параметры
| Параметр | Описание |
|---|---|
| режим | Примитивы для рисования: могут быть TRIANGLES, TRIANGLE_STRIP, QUADS или LINES. |
Описание
Начните рисовать примитивы 3D.
В OpenGL это соответствует glBegin; на других графиках APIs та же функциональность эмулирована. Между GL.Begin и GL.End допустимо вызывать GL.Vertex, GL.Color, GL.TexCoord и другие функции рисования в режиме непосредственного режима.
Вы должны быть осторожны с вычеркиванием при рисовании примитивов самостоятельно. Правила вычеркивания могут отличаться в зависимости от того, на какой графике 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(); } }