Begin 的模式:绘制线条。
绘制经过每对顶点的线条。如果经过 4 个顶点,A、B、C 和 D,则绘制两条线:一条在 A 和 B 之间,一条在 C 和 D 之间。
要为 2D 模式绘制设置屏幕,则使用 GL.LoadOrtho 或 GL.LoadPixelMatrix。
要为 3D 模式绘制设置屏幕,则使用 GL.LoadIdentity,然后使用具有所需变换矩阵的 GL.MultMatrix。
另请参阅:GL.Begin、GL.End。
using UnityEngine;
using System.Collections;
public class ExampleClass : 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 Example() {
startVertex = new Vector3(0, 0, 0);
}
}