glGetError — エラー情報を返す
GLenum glGetError(
|
void) ; |
glGetError
はエラーフラグの値を返します。
検出可能な各エラーには、数値コードとシンボル名が割り当てられています。
エラーが発生すると、エラーフラグに適切なエラーコード値が設定されます。
glGetError
が呼び出され、エラーコードが返され、フラグが GL_NO_ERROR
にリセットされるまで、他のエラーは記録されません。
glGetError
の呼び出しで GL_NO_ERROR
が返る場合、glGetError
の最後の呼び出し以降、またはGLの初期化以降、検出可能なエラーはありません。
分散実装を可能にするために、いくつかのエラーフラグが存在する場合があります。
単一のエラーフラグがエラーを記録した場合、そのフラグの値が返され、そのフラグは glGetError
が呼び出されたときに GL_NO_ERROR
にリセットされます。
複数のフラグがエラーを記録した場合、glGetError
は任意のエラーフラグ値を返し、そのフラグをクリアします。
従って、すべてのエラーフラグをリセットする場合は、 GL_NO_ERROR
が返されるまで、常に glGetError
をループで呼び出す必要があります。
最初は、すべてのエラーフラグが GL_NO_ERROR
に設定されています。
現在、以下のエラーが定義されています。
GL_NO_ERROR
エラーは記録されていません。 このシンボル定数の値は 0 であることが保証されています。
GL_INVALID_ENUM
列挙された引数に許容されない値が指定されています。 問題のコマンドは無視され、エラーフラグを設定する以外の副作用はありません。
GL_INVALID_VALUE
引数の数値が範囲外です。 問題のコマンドは無視され、エラーフラグを設定する以外の副作用はありません。
GL_INVALID_OPERATION
指定された操作は現在の状態では許可されていません。 問題のコマンドは無視され、エラーフラグを設定する以外の副作用はありません。
GL_INVALID_FRAMEBUFFER_OPERATION
フレームバッファオブジェクトが不完全です。 問題のコマンドは無視され、エラーフラグを設定する以外の副作用はありません。
GL_OUT_OF_MEMORY
コマンドを実行する為の十分なメモリがありません。 このエラーが記録された後のGLの状態は、エラーフラグの状態を除いて未定義です。
GL_STACK_UNDERFLOW
内部のスタックがアンダーフローする操作を実行しようとしました。
GL_STACK_OVERFLOW
内部のスタックがオーバーフローする操作を実行しようとしました。
エラーフラグが設定されている場合、 GL_OUT_OF_MEMORY
が発生した場合にのみ、GL操作の結果は未定義になります。
その他の場合はすべて、エラーを生成するコマンドは無視され、GLの状態やフレームバッファーの内容には影響を与えません。
生成コマンドが値を返す場合、 0 を返します。
glGetError
自体がエラーを生成する場合、 0 を返します。
OpenGL Version | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Function / Feature Name | 2.0 | 2.1 | 3.0 | 3.1 | 3.2 | 3.3 | 4.0 | 4.1 | 4.2 | 4.3 | 4.4 | 4.5 |
glGetError
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.