# TRIANGLES

> Mode for GL.Begin: draw triangles.

## Definition

* **Type:** Field
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public const int TRIANGLES = 4
```

### Remarks

Draws triangles using each set of 3 vertices passed. If you pass 3 vertices, one triangle is drawn, where each vertex becomes one corner of the triangle. If you pass 6 vertices, 2 triangles will be drawn.

To set up the screen for drawing in 2D, use [GL.LoadOrtho](/engine/6000.0/script-reference/unityengine/gl/loadortho.md) or [GL.LoadPixelMatrix](/engine/6000.0/script-reference/unityengine/gl/loadpixelmatrix.md). To set up the screen for drawing in 3D, use [GL.LoadIdentity](/engine/6000.0/script-reference/unityengine/gl/loadidentity.md) followed by [GL.MultMatrix](/engine/6000.0/script-reference/unityengine/gl/multmatrix.md) with the desired transformation matrix.

Additional Resources: [GL.Begin](/engine/6000.0/script-reference/unityengine/gl/begin.md), [GL.End](/engine/6000.0/script-reference/unityengine/gl/end.md).

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Draws a triangle that covers the middle of the screen
    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.Vertex3(0, 0, 0);
        GL.Vertex3(1, 1, 0);
        GL.Vertex3(0, 1, 0);
        GL.End();
        GL.PopMatrix();
    }
}
```
