glGetError 函数

glGetError 函数返回错误信息。

语法

GLenum WINAPI glGetError(void);

parameters

此函数没有参数。

返回值

glGetError 函数返回以下错误代码之一。

返回代码 说明
GL_INVALID_ENUM
为枚举参数指定了不可接受的值。 忽略有问题的函数,除了设置错误标志外,没有副作用。
GL_INVALID_VALUE
数值参数在范围外。 忽略有问题的函数,除了设置错误标志外,没有副作用。
GL_INVALID_OPERATION
不允许在当前状态下执行指定的操作。 忽略有问题的函数,除了设置错误标志外,没有副作用。
GL_NO_ERROR
未记录任何错误。 此符号常量的值保证为零。
GL_STACK_OVERFLOW
此函数将导致堆栈溢出。 忽略有问题的函数,除了设置错误标志外,没有副作用。
GL_STACK_UNDERFLOW
此函数将导致堆栈下溢。 忽略有问题的函数,除了设置错误标志外,没有副作用。
GL_OUT_OF_MEMORY
没有足够的内存来执行函数。 在记录此错误后,OpenGL 的状态未定义,错误标志的状态除外。

请注意,如果在对 glBegin 的调用与 glEnd 的相应调用之间调用 glGetError,则返回GL_INVALID_OPERATION。

备注

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

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

最初,所有错误标志都设置为 GL_NO_ERROR。

设置错误标志时,仅当发生GL_OUT_OF_MEMORY时,OpenGL 操作的结果才会取消定义。 在所有其他情况下,生成错误的函数将被忽略,并且对 OpenGL 状态或 framebuffer 内容没有影响。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEnd