Unity 6.3
0 онлайн 13 гостей 3 в системе
Вход

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