1. 程式人生 > >GLES2.0中文API-glGetError

GLES2.0中文API-glGetError

名稱

glGetError- 返回錯誤資訊

C規範

GLenum glGetError(void);

描述

    glGetError返回錯誤標誌的值。每個可檢測的錯誤都分配有數字程式碼和符號名稱。發生錯誤時,錯誤標誌將設定為相應的錯誤程式碼值。在呼叫glGetError(返回錯誤程式碼之前,不會記錄其他錯誤,並將標誌重置為GL_NO_ERROR。如果對glGetError的呼叫返回GL_NO_ERROR,則自上次呼叫glGetError或自GL初始化以來,沒有可檢測到的錯誤。

    為了允許分散式實現,可能存在多個錯誤標誌。如果任何單個錯誤標誌記錄了錯誤,則返回該標誌的值,並在呼叫glGetError

時將該標誌重置為GL_NO_ERROR。如果多個標誌記錄了錯誤,glGetError將返回並清除任意錯誤標誌值。因此,如果要重置所有錯誤標誌,則應始終在迴圈中呼叫glGetError,直到它返回GL_NO_ERROR

    初始情況下,所有錯誤標誌都設定為GL_NO_ERROR。

目前定義了以下錯誤:

GL_NO_ERROR (0)

    沒有記錄錯誤。 此符號常量的值保證為0

GL_INVALID_ENUM    (1280)

    為列舉引數指定了不可接受的值。 違規命令被忽略,除了設定錯誤標誌之外沒有其他副作用。

GL_INVALID_VALUE    (1281)

    數字引數超出範圍。 違規命令被忽略,除了設定錯誤標誌之外沒有其他副作用。

GL_INVALID_OPERATION    (1282)

    當前狀態下不允許指定的操作。 違規命令被忽略,除了設定錯誤標誌之外沒有其他副作用。

GL_INVALID_FRAMEBUFFER_OPERATION    (1286)

    該命令試圖渲染到幀緩衝區或從幀緩衝區讀取,而當前繫結的幀緩衝區不是幀緩衝區完成狀態(即

glCheckFramebufferStatus的返回值不是GL_FRAMEBUFFER_COMPLETE)。 違規命令被忽略,除了設定錯誤標誌之外沒有其他副作用。

GL_OUT_OF_MEMORY    (1285)

    沒有足夠的記憶體來執行命令。 在記錄此錯誤之後,GL的狀態是未定義的,除了錯誤標誌的狀態。

設定錯誤標誌時,僅當GL_OUT_OF_MEMORY發生時,GL操作的結果才是未定義的。 在所有其他情況下,生成錯誤的命令將被忽略,並且不會影響GL狀態或幀緩衝區內容。 如果generate命令返回一個值,則返回0。

另見

glCheckFramebufferStatus

版權

https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetError.xml

Copyright © 1991-2006 Silicon Graphics, Inc.本文件的許可是根據SGI Free Software B License.詳見http://oss.sgi.com/projects/FreeB/.

Android,OpenGL ES,圖形學