名称
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。
另见
版权
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/.