GL.Color

static function Color (c : Color) : void

Description

Sets current vertex color.

In OpenGL this matches glColor4f(c.r,c.g,c.b,c.a); on other graphics APIs the same functionality is emulated.

In order for per-vertex colors to work reliably across different hardware, you have to use a shader that binds in the color channel. See BindChannels documentation.

This function can only be called between GL.Begin and GL.End functions.

JavaScript
// Draws a red line from the bottom right
// to the top left of the Screen
// And a yellow line from the bottom left
// to the top right of the Screen
var mat : Material;

function OnPostRender() {
if (!mat) {
Debug.LogError("Please Assign a material on the inspector");
return;
}
GL.PushMatrix();
mat.SetPass(0);
GL.LoadOrtho();
GL.Begin(GL.LINES);
GL.Color(Color.red);
GL.Vertex3(1,0,0);
GL.Vertex3(0,1,0);
GL.Color(Color.yellow);
GL.Vertex3(0,0,0);
GL.Vertex3(1,1,0);
GL.End();
GL.PopMatrix();
}

using UnityEngine;
using System.Collections;

public class example : 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.LINES);
GL.Color(Color.red);
GL.Vertex3(1, 0, 0);
GL.Vertex3(0, 1, 0);
GL.Color(Color.yellow);
GL.Vertex3(0, 0, 0);
GL.Vertex3(1, 1, 0);
GL.End();
GL.PopMatrix();
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public mat as Material

def OnPostRender():
if not mat:
Debug.LogError('Please Assign a material on the inspector')
return
GL.PushMatrix()
mat.SetPass(0)
GL.LoadOrtho()
GL.Begin(GL.LINES)
GL.Color(Color.red)
GL.Vertex3(1, 0, 0)
GL.Vertex3(0, 1, 0)
GL.Color(Color.yellow)
GL.Vertex3(0, 0, 0)
GL.Vertex3(1, 1, 0)
GL.End()
GL.PopMatrix()