我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>VR>行业资讯>培训教程

Unity3D脚本11:底层图像库类GL

文章来源:第三维度 作者: 发布时间:2012年03月09日 点击数: 字号:

    来源:第三维度

    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之内。

  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料
  • 暂无资料