GL Primitives don't take on Global lighting?

Hi Guys. So I created a triangle using Unity’s GL support. I created the triangle in world space like so,

var mat : Material = null;
function Start()
{
	mat = new Material(Shader.Find("VertexLit"));
	mat.color = Color.red;
}

function OnPostRender() 
{

	if(!mat)
	{
		return;
	}

     var vecPos : Vector3 = GameObject.Find("TriRef").transform.position;
	
    GL.PushMatrix();
    mat.SetPass(0);
    //GL.LoadOrtho();
    GL.Begin(GL.TRIANGLES);
    GL.Vertex3(vecPos.x, vecPos.y, vecPos.z);
    GL.Vertex3(vecPos.x + 10, vecPos.y + 10, vecPos.z);
    GL.Vertex3(vecPos.x, vecPos.y + 10, vecPos.z);
    GL.End();
    GL.PopMatrix();
}

My Triangle is created just fine with a red color because of the material I created. However the lighting on the triangle doesn’t seem to be affected by my level’s light. All the other game objects in my level however, seem to respect my lights intensity. Is there a way to get GL primitives to respect lights? Thanks in advance!

GL created stuff does not exist as real mesh and is not handled in the render pipeline along which lighting etc is calculated (they don’t even have material)

basically they are to “draw after the scene” for fullscreen effects / post fx and similar things totally independent of the light rendering at all.

UI would be such an example (OnGUI uses Graphics.DrawMesh which is under the same restrictions)

Use the Mesh Class and materials instead for things that are meant to physically exist in the scene and be affected by shaders, lights etc