GL.Begin 开始

static function Begin (mode : int) : void

Parameters参数

Description描述

Begin drawing 3D primitives.

开始绘制3d原始物体。

In OpenGL this matches glBegin; on other graphics APIs the same functionality is emulated. Between GL.Begin and GL.End it is valid to call GL.Vertex, GL.Color, GL.TexCoord and other immediate mode drawing functions.

这和OpenGL中的glBegin函数一样。其它的图形API中也有类似的函数。在GL.Begin 和 GL.End之间放置GL操作函数。

You should be careful about culling when drawing primitives yourself. The culling rules may be different depending on which graphics API the game is running. In most cases the safest way is to use Cull Off command in the shader.

在用到裁剪函数时特别注意,这依赖于特定的图形API,不同的API裁剪方式不同。在多数情况下最好是用shader 中Cull Off命令。

参见: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.TRIANGLES);
		GL.Color(new Color(1, 1, 1, 1));
		GL.Vertex3(0.5F, 0.25F, 0);
		GL.Vertex3(0.25F, 0.25F, 0);
		GL.Vertex3(0.375F, 0.5F, 0);
		GL.End();
		GL.Begin(GL.QUADS);
		GL.Color(new Color(0.5F, 0.5F, 0.5F, 1));
		GL.Vertex3(0.5F, 0.5F, 0);
		GL.Vertex3(0.5F, 0.75F, 0);
		GL.Vertex3(0.75F, 0.75F, 0);
		GL.Vertex3(0.75F, 0.5F, 0);
		GL.End();
		GL.Begin(GL.LINES);
		GL.Color(new Color(0, 0, 0, 1));
		GL.Vertex3(0, 0, 0);
		GL.Vertex3(0.75F, 0.75F, 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:37

本脚本参考基于Unity 3.4.1f5

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