GL.QUADS 四边形

static var QUADS : int

Description描述

Mode for Begin: draw quads.

Begin模式开始后,然后绘制四边形。

If you want to draw something 2D in screen space then probably you will want to use GL.LoadOrtho or GL.LoadPixelMatrix.

如果在场景中画2D对象,你可能要用到GL.LoadOrthoGL.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.

如果在场景中画3D对象,你可能要用到GL.LoadIdentityGL.MultMatrix函数进行3D变换。

参见:GL.Begin, GL.End.

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.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();

	}

}
// Draw red a rombus on the screen

// and also draw a small cyan Quad in the left corner

//在屏幕上绘制一个红色菱形,并在左下角绘制一个青色小方形



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.QUADS);

	GL.Color(Color.red);

	GL.Vertex3(0,0.5,0);

	GL.Vertex3(0.5,1,0);

	GL.Vertex3(1,0.5,0);

	GL.Vertex3(0.5,0,0);



	GL.Color(Color.cyan);

	GL.Vertex3(0,0,0);

	GL.Vertex3(0,0.25,0);

	GL.Vertex3(0.25,0.25,0);

	GL.Vertex3(0.25,0,0);

	GL.End();

	GL.PopMatrix();

}
Page last updated: 2011-8-6