GLES2.0中文API-glGetError

本文深入解析OpenGL中的错误处理机制,详细介绍了glGetError函数的使用方法及其返回的各种错误代码含义,如GL_INVALID_ENUM、GL_INVALID_VALUE等,帮助开发者理解如何在程序中检测和处理OpenGL错误。
摘要由CSDN通过智能技术生成

名称

glGetError- 返回错误信息

C规范

GLenum glGetError(void);

描述

    glGetError返回错误标志的值。每个可检测的错误都分配有数字代码和符号名称。发生错误时,错误标志将设置为相应的错误代码值。在调用glGetError(返回错误代码之前,不会记录其他错误,并将标志重置为GL_NO_ERROR。如果对glGetError的调用返回GL_NO_ERROR,则自上次调用glGetError或自GL初始化以来,没有可检测到的错误。

    为了允许分布式实现,可能存在多个错误标志。如果任何单个错误标志记录了错误,则返回该标志的值,并在调用glGetError时将该标志重置为GL_NO_ERROR。如果多个标志记录了错误,glGetError将返回并清除任意错误标志值。因此,如果要重置所有错误标志,则应始终在循环中调用glGetError,直到它返回GL_NO_ERROR

    初始情况下,所有错误标志都设置为GL_NO_ERROR。

目前定义了以下错误:

GL_NO_ERROR (0)

    没有记录错误。 此符号常量的值保证为0

GL_INVALID_ENUM    (1280)

    为枚举参数指定了不可接受的值。 违规命令被忽略,除了设置错误标志之外没有其他副作用。

GL_INVALID_VALUE    (1281)

    数字参数超出范围。 违规命令被忽略,除了设置错误标志之外没有其他副作用。

GL_INVALID_OPERATION    (1282)

    当前状态下不允许指定的操作。 违规命令被忽略,除了设置错误标志之外没有其他副作用。

GL_INVALID_FRAMEBUFFER_OPERATION    (1286)

    该命令试图渲染到帧缓冲区或从帧缓冲区读取,而当前绑定的帧缓冲区不是帧缓冲区完成状态(即glCheckFramebufferStatus的返回值不是GL_FRAMEBUFFER_COMPLETE)。 违规命令被忽略,除了设置错误标志之外没有其他副作用。

GL_OUT_OF_MEMORY    (1285)

    没有足够的内存来执行命令。 在记录此错误之后,GL的状态是未定义的,除了错误标志的状态。

设置错误标志时,仅当GL_OUT_OF_MEMORY发生时,GL操作的结果才是未定义的。 在所有其他情况下,生成错误的命令将被忽略,并且不会影响GL状态或帧缓冲区内容。 如果generate命令返回一个值,则返回0。

另见

glCheckFramebufferStatus

版权

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetError.xml

https://blog.csdn.net/flycatdeng

Copyright © 1991-2006 Silicon Graphics, Inc.本文档的许可是根据SGI Free Software B License.详见http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,图形学
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值