glGetError 関数

glGetError 関数はエラー情報を返します。

構文

GLenum WINAPI glGetError(void);

パラメーター

この関数にはパラメーターはありません。

戻り値

glGetError 関数は、次のいずれかのエラー コードを返します。

リターン コード 説明
GL_INVALID_ENUM
列挙された引数に許容できない値が指定されています。 問題のある関数は無視され、エラー フラグを設定する以外に副作用はありません。
GL_INVALID_VALUE
数値引数が範囲外です。 問題のある関数は無視され、エラー フラグを設定する以外に副作用はありません。
GL_INVALID_OPERATION
指定された操作は、現在の状態では許可されません。 問題のある関数は無視され、エラー フラグを設定する以外に副作用はありません。
GL_NO_ERROR
エラーは記録されていません。 このシンボリック定数の値は 0 であることが保証されます。
GL_STACK_OVERFLOW
この関数はスタック オーバーフローを引き起こします。 問題のある関数は無視され、エラー フラグを設定する以外に副作用はありません。
GL_STACK_UNDERFLOW
この関数により、スタックのアンダーフローが発生します。 問題のある関数は無視され、エラー フラグを設定する以外に副作用はありません。
GL_OUT_OF_MEMORY
関数を実行するのに十分なメモリが残っていない。 このエラーが記録された後のエラー フラグの状態を除き、OpenGL の状態は未定義です。

glBegin の呼び出しとそれに対応する glEnd の呼び出しの間に呼び出された場合、glGetError はGL_INVALID_OPERATIONを返します。

解説

検出可能な各エラーには、数値コードとシンボリック名が割り当てられます。 エラーが発生すると、エラー フラグは適切なエラー コード値に設定されます。 glGetError が呼び出され、エラー コードが返され、フラグが GL_NO_ERROR にリセットされるまで、他のエラーは記録されません。 glGetError の呼び出しがGL_NO_ERRORを返した場合、glGetError の最後の呼び出し以降、または OpenGL が初期化されてから検出可能なエラーはありません。

分散実装を可能にするために、いくつかのエラー フラグが存在する可能性があります。 1 つのエラー フラグでエラーが記録された場合、そのフラグの値が返され、 glGetError が呼び出されたときにそのフラグがGL_NO_ERRORにリセットされます。 複数のフラグでエラーが記録されている場合、 glGetError は 任意のエラー フラグ値を返してクリアします。 すべてのエラー フラグをリセットする場合は、GL_NO_ERRORを返すまで、常に ループで glGetError を呼び出す必要があります。

最初は、すべてのエラー フラグが GL_NO_ERROR に設定されます。

エラー フラグが設定されている場合、OpenGL 操作の結果は、GL_OUT_OF_MEMORYが発生した場合にのみ未定義になります。 それ以外のすべての場合、エラーを生成する関数は無視され、OpenGL 状態またはフレームバッファーの内容には影響しません。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glEnd