OpenGL 错误获取glGetError()

转载:http://blog.csdn.net/u010270148/article/details/52934295
如果函数参数不符或者不符合当前上下文设置的状态,则会导致 OpenGL Error。已 error code 来表示。绝大多数情况下 OpenGL functions 产生 errors,则不会生效。少数有效。


OpenGL Error 存储在一个队列中,直到该错误被处理。因此,如果你不定期的检测错误,你将不会知道某个函数某个函数的调用触发了错误。因此,错误检测应该定期检测,确保知道错误的详细信息。


获取队列中下一个 OpenGL Error,并从队列中移除。如果返回 GL_NO_ERROR 则该队列为空。
GLenum glGetError()​
若获取所有的 OpenGL Error 
for(GLenum err; (err = glGetError()) != GL_NO_ERROR;)
{
 //Process/log the error.
}

所有的返回值有:
GL_NO_ERROR  :(0)当前无错误值
GL_INVALID_ENUM  :(1280)仅当使用非法枚举参数时,如果使用该参数有指定环境,则返回 GL_INVALID_OPERATION 
GL_INVALID_VALUE  :(1281)仅当使用非法值参数时,如果使用该参数有指定环境,则返回 GL_INVALID_OPERATION 
GL_INVALID_OPERATION  :(1282)命令的状态集合对于指定的参数非法。
GL_STACK_OVERFLOW  :(1283)压栈操作超出堆栈大小。
GL_STACK_UNDERFLOW  :(1284)出栈操作达到堆栈底部。
GL_OUT_OF_MEMORY  :(1285)不能分配足够内存时。
GL_INVALID_FRAMEBUFFER_OPERATION  :(1286)当操作未准备好的真缓存时。
GL_CONTEXT_LOST  :(1287)由于显卡重置导致 OpenGL context 丢失。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值