查看: 1279|回复: 0
打印 上一主题 下一主题

Unity3D脚本中文教程2.13

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-5-18 15:26:00 |只看该作者 |倒序浏览
GL 类
底层图像库。

使用这个类操作激活的变换矩阵,发送与OpengGL立即模式相同的渲染命令并做一些其他的底层图像操作。注意,在所有情况下使用Graphics.DrawMesh比任何使用立即模式绘制更有效。

这个类只限于Unity Pro.


类变量


◆ static var LINES: int


描述:用于Begin的模式:绘制直线。

参见:GL . Begin, GL . End.


◆ static var modelview:Matrix4x4


描述:当前模型视矩阵。

给这个变量赋值等同于OpenGL中的glLoadMatrix(mat);在其他图形API中对应的功能被模拟。

改变模型视矩阵覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix来保存和恢复矩阵。

读取这个变量返回当前模型视矩阵。


◆ static var QUADS:int


描述:用于Begin的模式:绘制四边形

参见:GL.Begin,GL.End.


◆ static var TRIANGLE_STRIP:int


描述:用于Begin的模式:绘制三角面

参见:GL.Begin,GL.End.


◆ static var TRIANGLES:int


描述:用于Begin的模式:绘制三角形

参见:GL.Begin,GL.End.


类方法


◆ static function Begin(mode:int) : void


参数


mode         绘制的几何体:可以是TRIANGLES,TRIANGLE_STRIP,QUADS或

       LINES.

描述:开始绘制3D几何体

这个对应OpenGL中的glBegin,在其他图形API中相同的功能被模拟 ,在GL.Begin 和 GL.End之间,可以调用GL .Veriex,GL.Color,GL.TexCoord和其他立即模式绘制函数。

  在绘制你自己的几何体时,你应该注意它们的裁剪。裁剪规则可能会因为不同的图形 API而不同。在大多数情况下在shader中使用Cull Off命令是安全的。

参见:GL.End.


◆ static function Clear(clearDepth:bool,clearColor:bool,backgroudColor):void


参数


clearDepth            应该清除深度缓存?

clearColor            应该清除颜色缓存?

backgroudColor       颜色被清理为什么,只有当clearColor为***e时使用.

描述:清除当前渲染缓存

这将清除屏幕或激活的RenderTexture.


◆ static function Color(c : Color) : void


描述:设置当前顶点颜色

这个对应OpenGL中的glColor4f(c. r,c.g,c.b,c.a):在其他图形中API中相同的功能被模拟,

为了使逐顶点颜色可以在不同的硬件上工作,你需要使用绑定了颜色通道的shader。参考BindChannels文档.

这个函数只在GL.Begin和GL.End函数之间调用.


◆ static function End( ) : void


描述:结束绘制3D几何体

这个对应OpenGL中的glEnd;在其他图形API中相同的功能被模拟.

参见:GL.Begin.


◆ static function LoadIdentity( ) : void


描述:加载单位矩阵到当前模型视矩阵。

这个函数覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix

来保存和恢复矩阵。


◆ static function LoadOrtho( ) : void


描述:辅助函数用来设置一个正交***变换

调用LoadOrtho知道,视锥从 (0,0,-1) 变化到(1,1,100).


◆ static function LoadPixelMatrix( ) : void


描述:设置一个用于像素修正渲染的矩阵。

这个设置模型视和投影矩阵,因此X,Y坐标直接映射到像素。(0,0)位于当前相机

视口的左下角。Z坐标从-1到+100

这个函数覆盖当前相机的参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix

来保存和恢复矩阵。


◆ static function LoadPixelMatrix(left:float,right:float,bottom:float,top:float):void


描述:设置一个矩阵的像素正确渲染。

这样设置投影矩阵点以便X、Y坐标图直接像素化。(0,0)在底部左侧当前摄像机的视角。Z坐标是从-1到+100。

这个函数覆盖了相机的参数,所以通常你要保存和恢复矩阵就使用GLPushMatrix和GL.PopMatrix。


◆  static function LoadProjectionMatrix (mat : Matrix4x4) : void


描述:加载到当前任意矩阵投影矩阵。

这个函数重写当前摄像机的投影参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。


◆  static function MultiTexCoord (unit : int, v : Vector3) : void


描述:设置当前纹理坐标(v.x,v.y,v.z)实际的纹理单元。

在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。

这个函数只能被称为介于GL.Begin和GL.End功能之间。


◆  static function MultiTexCoord2 (unit : int, x : float, y : float) : void


描述:设置当前纹理坐标(x,y)的为实际纹理单元。

在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。

这个函数只能被称为介于GL.Begin和GL.End功能之间。


◆  static function MultiTexCoord3(unit : int, x : float, y : float, z : float) :void


描述:设置当前纹理坐标(x,y,z)的为实际纹理单元。

在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。

这个函数只能被称为介于GL.Begin和GL.End功能之间。


◆  static function MultMatrix (mat : Matrix4x4) : void


描述:复制当前的点矩阵和其中的一个说明。

相当于glMultMatrix(垫在)OpenGL; 在其他图形API的相应功能是相仿的。

换点矩阵覆盖当前相机视图的参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。


◆  static function PopMatrix () : void


描述:恢复了投影和点矩阵的矩阵堆栈的顶部。

换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和GL.PopMatrix来保存和恢复。

参见:PushMatrix函数。


◆  static function PushMatrix () : void


描述:节约双方投影矩阵对点和矩阵堆栈。

换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和

GL.PopMatrix来保存和恢复。

参见:PopMatrix函数


◆ static function SetRevertBackfacing(revertBackFaces : bool) : void


描述:选择是否翻转隐面剔除,是(真)或者不是(假)


◆ static function TextCoord (v : Vector3) : void


描述:为所有纹理单元设置当前纹理坐标(v.x, v.y, v.z)

这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。

这个函数只在GL.Begin和GL.End函数之间调用。


◆ static function TexCoord2(x : float, y : float) : void


描述:为所有纹理单元设置当前纹理坐标(x, y)

这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。

这个函数只在GL.Begin和GL.End函数之间调用。


◆ static function TexCoord3(x : float, y : float, z : float) : void


描述:为所有纹理单元设置当前纹理坐标(x, y, z)

这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。

这个函数只在GL.Begin和GL.End函数之间调用。


◆ static function Vertex(v : Vector3) : void


描述:提交顶点

这个对应OpenGL中的glVertex3f(v.x, v.y.v.z); 在其他图形API中相同的功能被模拟。

这个函数只在GL.Begin和GL.End函数之间调用。


◆ static function Vertex3(x : float, y : float, z : float) : void


描述:提交顶点

这个对应OpenGL中的glVertex3f(x, y, z); 在其他图形API中相同的功能被模拟。

这个函数只在GL.Begin和GL.End函数之间调用。


◆ static function Viewport(pixelRect : Rect) : void


描述:设置渲染视口

所有的渲染都被限制在pixelRect之内。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-6-12 16:04 , Processed in 0.069167 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部