共用方式為


OpenGL (錯誤處理)

當 OpenGL 偵測到錯誤時,它會記錄目前的錯誤碼。 會忽略造成錯誤的函式,因此不會影響 OpenGL 狀態或 framebuffer 內容。 (如果記錄的錯誤GL_OUT_OF_MEMORY,則未定義函式的結果。) 記錄之後,除非您呼叫 glGetError 查詢函式,才會清除目前的錯誤碼,這會傳回目前的錯誤碼。

OpenGL 的實作可能會傳回多個目前的錯誤碼,每個錯誤碼都會維持設定狀態,直到查詢為止。 當您查詢所有目前的錯誤碼或沒有錯誤時, glGetError 函式會傳回GL_NO_ERROR。 因此,如果您取得錯誤碼,請呼叫 glGetError ,直到傳回GL_NO_ERROR,以確定您已發現所有錯誤。 如需錯誤碼的清單,請參閱 OpenGL 錯誤碼

您可以使用 gluErrorString GLU 函式,取得對應至傳入之錯誤碼的描述性字串。 如需 gluErrorString的詳細資訊,請參閱 處理錯誤

注意

如果偵測到錯誤,GLU 函式通常會傳回錯誤值。 此外,OpenGL 公用程式程式庫會定義錯誤碼GLU_INVALID_ENUM、GLU_INVALID_VALUE和GLU_OUT_OF_MEMORY,其意義與相關的 OpenGL 錯誤碼相同。