共用方式為


錯誤處理 (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 錯誤碼相同。