使用查询函数

有四个查询函数可用于获取简易状态变量,而其中一个则可用于确定是启用还是禁用了特定状态:

这些查询函数的原型为:

void glGetBooleanv(GLenum pname , GLboolean * params );

void glGetIntegerv(GLenum pname , GLint * params );

void glGetFloatv(GLenum pname , GLfloat * params );

void glGetDoublev(GLenum pname , GLdouble * params );

这些查询函数可分别获取布尔型、整型、浮点型或双精度状态变量。 pname 参数是一个符号常量,它表示要返回的状态变量。params 则为要在其中放置返回数据的所示类型的数组的指针。 pname 的可能值已在 OpenGL 状态变量中列出。 必要时,系统会执行类型转换以将所需变量作为请求的数据类型来返回。

glIsEnabled 的原型为:

GLboolean glIsEnabled(GLenum cap );

如果启用了 cap 指定的模式,glIsEnabled 则会返回 GL_TRUE。 如果禁用了 cap 指定的模式,glIsEnabled 则会返回 GL_FALSE。 cap 的可能值已在 OpenGL 状态变量中列出。

其他专用函数会返回特定的状态变量。 若要了解何时应使用这些函数,请参阅“OpenGL 状态变量”和 OpenGL 参考手册。 有关 OpenGL 的错误处理设施和 glGetError 函数的详细信息,请参阅错误处理

返回特定状态变量的函数为: