OpenGL ES1.1.12 第二章 2.5
来源:互联网 发布:富贵而知荣辱 编辑:程序博客网 时间:2024/05/17 06:43
(仅是草稿,未做整理)
2.5 GL的错误提示
GL只能检测到认为是错误条件的一部分。这是因为在许多错误检测情况会对无差错(error-free)的程序带来不利的影响。
获取错误信息的命令:
enum GetError( void );
每一个可检测的错误会赋于一个数值编码。当错误发生,会设置一个标识,并记录编码。如果再发生的错误,那么将不会影响当前的所记录的编码。当GetError函数调用的时候,编码将返回,并清除标识,这样后续的错误可以记录此编码。如果调用GetError时,返回NO_ ERROR,这意味着至上一次调用之后没有再发生错误(或者至GL初始化之后)。
为了允许分布实现,会用到多个标识对。这种情况下,直到所有非NO_ERROR返回,否则在调用GetError后返回的是除NO_ERROR之外的,之后的调用将回返独一代码对的非0值(以未定义的顺序出现)。当没有更多的非NO_ERROR,则会重围所有的标识。这个机制需要正bit标识对值和整数。在初始化状态,所有标识都置为NO_ERROR。
表2.3为所有的GL错误。当设置一个错误标识后,除了发生OUT_OF MEMORY错误之外,GL操作的结果将是没有定义的。在其他情况下,错误的产生,不影响GL状态或者帧缓存内容。如果一个生成命令作返回一个值,那么此值为0。如果生成命令通过指针参数修改了值,那么这些值也不会发生改变。这些错误语义只适用于GL错误,并不用于系统错误如内存访问错误。这些行为只是当前行为。发生错误GL的操作,也会随着变化。
有三种错误的产生条件隐藏在GL命令的描述中。
一,当一个需要枚举数值,而又传递一个不可接受的枚举数值时,此命令将返回INVALID_ENUM错误,这种情况也会发生在指向符号常数的指针参数时,如果指针所指向的常数值对于命令是不可接受的。如果定义的枚举常数只属于Common或Common-Lite部分的时候,那么如果此常数用于另一个部分时,那么也会返回INVALI_ ENUM错误。
二,当参数类型定义为sizei,如果传递一个负数,那么将返回INVALID_VALUE错误。
表2.3GL错误
三、在执行一个GL命令时,内存耗尽,并影响到了命令,那么可能会发生OUT_OF_MEMORY错误。
其他错误的发生的条件都在此文档中显式地描述。
- OpenGL ES1.1.12 第二章 2.5
- OpenGL ES1.1.12 第二章 2.1
- OpenGL ES1.1.12 第二章 2.1.1
- OpenGL ES1.1.12 第二章 2.7
- OpenGL ES1.1.12 第二章 2.8
- OpenGL ES1.1.12 第二章 2.9
- OpenGL ES1.1.12 第二章 2.9.2
- OpenGL ES1.1.12 第二章 2.10.2
- OpenGL ES1.1.12 第二章 2.10.3
- OpenGL ES1.1.12 第二章 2.2,2.3,2.4
- OpenGL ES1.1.12 第二章 2.6 2.6.1
- OpenGL ES1.1.12 第二章 2.10 2.10.1
- OpenGL ES1.1.12 目录
- OpenGL ES1.1.12 第一章
- OpenGL ES1.1.12版权说明
- opengl es1.1 平台搭建
- Opengl ES1 笔记 2013-04-24
- OPENGL ES1.X多重纹理的实现
- SQLServer 中Case When的用法
- 打开资源视图时-提示在另一个编辑器中打开,但是已经关闭所有的打开文件还是这样,是不是要修改哪个文件
- Ubuntu12.10 gcc -4.7.2 pthread 未定义
- 更改xcode上iphone模拟器颜色的方法
- Regex-内部引擎
- OpenGL ES1.1.12 第二章 2.5
- POSIX线程库API(全)
- 【该方法本人实践成功(推荐)】Cstring 和 const char* , unicode和ANSI编码 的一个具体应用
- 改变网changeself.com,记录着改变生活、改变态度、改变思维方式、改变特质、改变行为方式,一切从改变自己身上的特质开启
- 4_1三角形类
- bootloader 浅析
- android 中文乱码总结
- 第四周上机任务项目一----三角形类
- CppUnit快速入门