open_gl_es规范基础知识

open_gl_es规范基础知识

ID:2081529

大小:438.50 KB

页数:40页

时间:2017-11-14

open_gl_es规范基础知识_第1页
open_gl_es规范基础知识_第2页
open_gl_es规范基础知识_第3页
open_gl_es规范基础知识_第4页
open_gl_es规范基础知识_第5页
资源描述:

《open_gl_es规范基础知识》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OpenGLESCommon/Common-Lite规范OpenGLES基本知识OpenGLES(以后简写为“GL”)仅关心如何在帧缓存(framebuffer)中渲染(渲染后的值将保存到帧缓存中)。它不支持其他的外围设备与图形硬件关联,例如鼠标和键盘。编程人员必须通过其他的途径获取用户操作,例如KhronosOpenKODEAPI。GL在一定数量的可选模式下绘制原始对象。每个原始对象可以是一个点,线段或者一个三角形。每种模式可以独立的改变。每个设置之间不相互影响(虽然一些模式可能最终影响帧缓存中的最后结果)。模式被设置,原始对象被定义,其他GL操作通过在函数或者程序中调用。原始对象是一组

2、被定义好的数据结构,包含一个或者多个顶点。一个顶点定义了一个点,或一个边的结束点,或者一个三角形的2条边相交的顶点。数据(包括位置坐标,颜色,规格化,纹理坐标)保存在一个顶点中,每个顶点按照顺序,以相同方式,独立的被处理。唯一例外的是,如果一组顶点必须在一个指定的矩形区域内被裁减,这个操作将导致,一些顶点可能被修改,一些新顶点可能被创建。裁减的类型依赖于这组顶点数据代表的描绘类型。命令永远按照顺序执行,虽然可能命令的实现会有不确定的延时。比如,一个原始对象在必须在任何子序列影响帧缓存之前绘制。它也意味着查询和像素读取操作返回的状态时,之前的所有的GL命令执行完毕。通常,GL命令必须在其他子

3、序列在造成任何影响之前完成。在GL中,数据绑定发生在调用的时候。这意味着命令执行时,使用的数据会被解释。即使命令要求一个指向数据的指针,这些数据当调用的时候即被解释,任何子序列的对数据的改变都不会产生影响(除非后继的操作中使用了同样的指针)。GL提供对3D,2D图形的基本操作。包括特定的矩阵变换,光照方程系数,抗锯齿,像素更新操作。它不提供复杂几何元素的描述或者建模。另一种对这种解决方案的描述是GL提供一些途径去描述如何渲染复杂的几何对象,而不直接描述此类复杂的对象。GL命令是按照客户端-服务器模式去解释的。也就是说,程序(客户端)运行命令,这些命令在服务器端解释并且执行。一个服务器可能保

4、持一定数量的GLcontext对象。每个对象都是对当前GL状态的封装。一个客户端可能选择连接任何这些context对象中的任何一个。当程序不连接任何一个context时,运行GL命令会导致未定义的行为。GL命令的通过窗口系统最大限度的控制帧缓存,窗口系统决定GL在给定的时间内可以访问帧缓存中的哪些点,它还负责与GL交流点的数据结构。因此,没有任何GL命令去定义帧缓存或者初始化GL。同样,在CRT或者LCD上帧缓存的显示内容(包括某些技术进行的单独帧缓存值变换,例如gamma纠错)是不被定位到GL中。帧缓存构造发生在GL的外部,同窗口系统相关联。GL的初始化发生在窗口系统为GL分配一个窗口时

5、。EGLAPI定义了一个简便的途径创建GLcontexts和窗口,该窗口可用于连接不同平台的窗口系统。GL被设计成运行可以运行在一系列图形平台上,并提高图形显示的效果和性能。为了适应多样性,某些GL操作使用理想行为代替了实行行为,因为背叛这种设想是允许的,也规定了一个实现必须遵守的规则使其接近理想的行为。在GL中,这个允许的变化指2个完全不同的GL的实现可以出现像素到像素的不一致,即便相同的输入,或者相同帧缓存配置下。最后,命令的名字,常数和类型都是用GL作前缀(可以为gl,GL_,GL),这样可以减少与其他包出现姓名冲突。在以后的文档中,前缀可能被省略。数值计算GL操作中必须进行一些数值

6、运算。Commonprofile下,通常使用浮点数计算,浮点数的范围将在后面的“浮点计算”中有精确的定义。Commonliteprofile下,通常使用定点数计算,顶点数的范围将在后面的“定点运算”中做更精确的定义,但是也它也可以使用浮点数来计算。浮点计算我们不规定浮点数是如何表现的,它们的操作是如何执行的。我们简单的要求数字浮点部分包含足够的比特位和足够大的指数位,所有单独浮点操作结果都精确到1/105。浮点数用来表示位置和规格化坐标时,最重要的是至少精确到232。表示颜色或者纹理坐标,最少精确到210。其他浮点数至少精确到232。x.0=0.x=01.x=x.1=xx+0=0+x00=

7、1大部分单精度浮点格式需要满足这些要求。任何浮点数作为GL命令的输入是合法的,如果提供一个浮点数是未定义的,但是必须保证不会导致GL中断或者结束。在IEEE计算中,例如,对GL命令输入一个负零或者一个未规格化数会产生可预知的结果,而提供NaN或者无穷大会产生未定义的结果。如果x的值不是一个浮点数,以上一致性的规定不需要保持。定点数计算内部计算可以即可以使用定点计算,也可以使用浮点计算。定点计算必须精确在±2-15。定点数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。