GL.TRIANGLE_STRIP 三角形带

static var TRIANGLE_STRIP : int

Description描述

Mode for Begin: draw triangle strip.

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.LoadOrtho 或 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.

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

参见:GL.Begin, GL.End.

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	public Material mat;
	void OnPostRender() {
		if (!typeof(mat)) {
			Debug.LogError("Please Assign a material on the inspector");
			return;
		}
		GL.PushMatrix();
		mat.SetPass(0);
		GL.LoadOrtho();
		GL.Begin(GL.TRIANGLE_STRIP);
		GL.Color(new Color(0, 0, 0, 1));
		GL.Vertex3(0.25F, 0.5F, 0);
		GL.Vertex3(0, 0.5F, 0);
		GL.Vertex3(0.25F, 0.25F, 0);
		GL.Vertex3(0, 0.25F, 0);
		GL.End();
		GL.PopMatrix();
	}
}
// Draws 2 triangles in the left side of the screen
// that look like a square
//在屏幕的左边绘制2个三角形,看上去像一个方形
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.TRIANGLE_STRIP);
	GL.Color(Color(0,0,0,1));
	GL.Vertex3(0.25,0.5,0);
	GL.Vertex3(0,0.5,0);
	GL.Vertex3(0.25,0.25,0);
	GL.Vertex3(0,0.25,0);
	GL.End();
	GL.PopMatrix();
}
最后修改:2011年3月20日 Sunday 20:24

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。