首页|行业资讯|企业名录|周边产品|数字城市|增强现实|工业仿真|解决方案|虚拟医疗|行业仿真|图形处理|军事战场
资讯首页
行业资讯 >> 学习教程>>正文
Unity3D脚本11:底层图像库类GL
2012年3月9日    评论:    分享:

    来源:第三维度

    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 //  描述:开始绘制3D几何体

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

    这个对应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为true时使用.

    这将清除屏幕或激活的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之内。

标签:Unity
上一篇:Unity3d脚本10:GUI事件类 Event
下一篇:Unity3d脚本12:GUI元素类 GUIContent
网友评论:Unity3D脚本11:底层图像库类GL
评论
留名: 验证码:
您可能还需要关注一下内容:
·基于洪水模拟和预报的三维仿真系统设计
·基于Unity3D平台的三维虚拟城市研究与应用
·Unity3d 爆炸火焰特效教程
·Unity3d 基础特效教程-下雨
·基于Unity3D实现大件运输过程动态模拟
·基于Unity3D的虚拟水流墙系统的设计研究
· 西游汉字ceo张红:早教市场缺精品
·基于Unity的虚拟战场地理环境构建
·基于虚拟现实技术的三维矿井漫游演示系统开发与应用
·Unity3D实现3D立体游戏原理及过程
☏ 推荐产品

Ladybug5全景
商家:力方国际

ProJet®
商家:力方国际

ProJet®
商家:视科创新

Premium1.5
商家:视科创新

巴可HDX主动立体投
商家:德浩科视

巴可HDF-W26投
商家:德浩科视

巴可30000流明2
商家:德浩科视

巴可4万流明2K投影
商家:德浩科视
☞ 外设导航
☏ 企业名录
【广州】中科院广州电子技术有限公司
【北京】第二空间(北京)科技有限公司
【北京】幻维世界(北京)网络科技有限公司
【厦门】厦门惠拓动漫科技有限公司
【厦门】厦门幻眼信息科技有限公司
【深圳】深圳南方百捷文化传播有限公司
【北京】北京思源科安信息技术有限公司
【上海】上海殊未信息科技有限公司
【北京】北京赢康科技开发有限公司
【武汉】武汉科码软件有限公司
友情链接 关于本站 咨询策划 行业推广 广告服务 免责声明 网站建设 联系我们 融资计划
北京第三维度科技有限公司 版权所有 京ICP备09001338
2008-2016 Beijing The third dimension Inc. All Rights Reserved.
Tel:010-57255801 Mob:13371637112(24小时)
Email:d3dweb@163.com  QQ:496466882
扫一扫 第三维度
官方微信号