glGetError 函式

glGetError函式會傳回錯誤資訊。

語法

GLenum WINAPI glGetError(void);

參數

此函式沒有參數。

傳回值

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的對應呼叫之間呼叫,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 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glBegin

glEnd