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 的状态未定义,但记录此错误后错误标志的状态除外。

请注意, 如果 glGetError 在对 glBegin 的调用与其对 glEnd 的相应调用之间调用,则返回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