glGetError 函式
glGetError函式會傳回錯誤資訊。
GLenum WINAPI glGetError(void);
此函式沒有參數。
glGetError函式會傳回下列其中一個錯誤碼。
傳回碼 | 描述 |
---|---|
|
列舉引數指定了無法接受的值。 忽略違規函式,除了設定錯誤旗標以外,沒有副作用。 |
|
數值引數超出範圍。 忽略違規函式,除了設定錯誤旗標以外,沒有副作用。 |
|
目前狀態不允許指定的作業。 忽略違規函式,除了設定錯誤旗標以外,沒有副作用。 |
|
未記錄任何錯誤。 此符號常數的值保證為零。 |
|
此函式會造成堆疊溢位。 忽略違規函式,除了設定錯誤旗標以外,沒有副作用。 |
|
此函式會導致堆疊下溢。 忽略違規函式,除了設定錯誤旗標以外,沒有副作用。 |
|
記憶體不足,無法執行函式。 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 [僅限傳統型應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|