# QUADS

> Mode for GL.Begin: draw quads.

## Definition

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

```csharp
public const int QUADS = 7
```

### Remarks

Draws quads using each set of 4 vertices passed. If you pass 4 vertices, one quad is drawn, where each vertex becomes one corner of the quad. If you pass 8 vertices, 2 quads will be drawn.

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

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

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Draw red a rombus on the screen
    // and also draw a small cyan Quad in the left corner
    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.QUADS);
        GL.Color(Color.red);
        GL.Vertex3(0, 0.5f, 0);
        GL.Vertex3(0.5f, 1, 0);
        GL.Vertex3(1, 0.5f, 0);
        GL.Vertex3(0.5f, 0, 0);

        GL.Color(Color.cyan);
        GL.Vertex3(0, 0, 0);
        GL.Vertex3(0, 0.25f, 0);
        GL.Vertex3(0.25f, 0.25f, 0);
        GL.Vertex3(0.25f, 0, 0);
        GL.End();
        GL.PopMatrix();
    }
}
```
