使用查詢函式
有四個查詢函式可用於取得簡單的狀態變數,另一個用於判斷特定狀態是否已啟用或停用:
查詢函式的原型如下:
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 函式的詳細資訊,請參閱 錯誤處理。
傳回特定狀態變數的函式如下:
- glGetClipPlane
- glGetError
- glGetLight
- glGetMap
- glGetMaterial
- glGetPixelMap
- glGetPolygonStipple
- glGetString
- glGetTexEnv
- glGetTexGen
- glGetTexImage
- glGetTexLevelParameter
- glGetTexParameter