GL.LINES Manual     Reference     Scripting  
Scripting > Runtime Classes > GL
GL.LINES

static var LINES : int

Description

Mode for Begin: draw lines.

If you want to draw something 2D in screen space then probably you will want to use GL.LoadOrtho or GL.LoadPixelMatrix.
If you want something in "3D", then probably you should consider using GL.LoadIdentity followed by GL.MultMatrix with the actual 3D transform you want your stuff to be in.

See Also: GL.Begin, GL.End.

JavaScripts
// Draws a line from "startVertex" var to the curent mouse position.
var mat : Material;
private var startVertex : Vector3;
private var mousePos : Vector3;
startVertex = Vector3(0,0,0);

function Update() {
mousePos = Input.mousePosition;
// Press space to update startVertex
if(Input.GetKeyDown(KeyCode.Space)){
startVertex = Vector3(mousePos.x/Screen.width, mousePos.y/Screen.height, 0);
}
}

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.Vertex(startVertex);
GL.Vertex(Vector3(mousePos.x/Screen.width, mousePos.y/Screen.height, 0));
GL.End();
GL.PopMatrix();
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
public Material mat;
private Vector3 startVertex;
private Vector3 mousePos;
void Update() {
mousePos = Input.mousePosition;
if (Input.GetKeyDown(KeyCode.Space))
startVertex = new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0);

}
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.Vertex(startVertex);
GL.Vertex(new Vector3(mousePos.x / Screen.width, mousePos.y / Screen.height, 0));
GL.End();
GL.PopMatrix();
}
void Awake() {
startVertex = new Vector3(0, 0, 0);
}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

public mat as Material

private startVertex as Vector3

private mousePos as Vector3

def Update():
mousePos = Input.mousePosition
if Input.GetKeyDown(KeyCode.Space):
startVertex = Vector3((mousePos.x / Screen.width), (mousePos.y / Screen.height), 0)

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.Vertex(startVertex)
GL.Vertex(Vector3((mousePos.x / Screen.width), (mousePos.y / Screen.height), 0))
GL.End()
GL.PopMatrix()

def Awake():
startVertex = Vector3(0, 0, 0)