Bezeichnung
gl.GetError -- gibt Fehlerinformationen zurück
Übersicht
error = gl.GetError()
Beschreibung
gl.GetError() gibt den Wert des Fehlerflags zurück. Jedem erkennbaren Fehler sind ein Zahlencode und ein symbolischer Name zugeordnet. Im Fehlerfall wird das Fehlerflag auf den entsprechenden Fehlercodewert gesetzt. Es werden keine weiteren Fehler aufgezeichnet, bis gl.GetError() aufgerufen, der Fehlercode zurückgegeben und das Flag auf #GL_NO_ERROR zurückgesetzt wird. Wenn ein Aufruf von gl.GetError() #GL_NO_ERROR zurückgibt, gab es seit dem letzten Aufruf von gl.GetError() oder seit der Initialisierung der GL keinen erkennbaren Fehler.

Um verteilte Implementierungen zu ermöglichen, kann es mehrere Fehlerflags geben. Wenn ein einzelnes Fehlerflag einen Fehler aufgezeichnet hat, wird der Wert dieses Flags zurückgegeben und dieses Flag wird auf #GL_NO_ERROR zurückgesetzt, wenn gl.GetError() aufgerufen wird. Wenn mehr als ein Flag einen Fehler aufgezeichnet hat, gibt gl.GetError() einen beliebigen Fehler-Flagwert zurück und löscht ihn. Daher sollte gl.GetError() immer in einer Schleife aufgerufen werden, bis es #GL_NO_ERROR zurückgibt, wenn alle Fehlerflags zurückgesetzt werden sollen.

Zunächst werden alle Fehlerflags auf #GL_NO_ERROR gesetzt.

Die folgenden Fehler sind derzeit definiert:

#GL_NO_ERROR
Es wurde kein Fehler festgestellt. Der Wert dieser symbolischen Konstante ist garantiert 0.

#GL_INVALID_ENUM
Für ein aufgezähltes Argument wird ein inakzeptabler Wert angegeben. Der fehlerhafte Befehl wird ignoriert und hat keine andere Nebeneffekte, als das Fehlerflags zu setzen.

#GL_INVALID_VALUE
Ein numerisches Argument liegt außerhalb des Bereichs. Der fehlerhafte Befehl wird ignoriert und hat keine andere Nebeneffekte, als das Fehlerflags zu setzen.

#GL_INVALID_OPERATION
Die angegebene Operation ist im aktuellen Status nicht erlaubt. Der fehlerhafte Befehl wird ignoriert und hat keine andere Nebeneffekte, als das Fehlerflags zu setzen.

#GL_STACK_OVERFLOW
Dieser Befehl würde einen Stapelüberlauf verursachen. Der fehlerhafte Befehl wird ignoriert und hat keine andere Nebenwirkung, als das Fehlerflags zu setzen.

#GL_STACK_UNDERFLOW
Dieser Befehl würde einen Stapelunterlauf verursachen. Der fehlerhafte Befehl wird ignoriert und hat keine andere Nebenwirkung, als das Fehlerflags zu setzen.

#GL_OUT_OF_MEMORY
Es ist nicht genügend Speicherplatz vorhanden, um den Befehl auszuführen. Der Status von GL ist undefiniert, außer dem Status der Fehlerflags, nachdem dieser Fehler aufgezeichnet wurde.

Wenn ein Fehlerflag gesetzt ist, sind die Ergebnisse einer GL-Operation nur dann undefiniert, wenn #GL_OUT_OF_MEMORY aufgetreten ist. In allen anderen Fällen wird der Befehl, der den Fehler erzeugt, ignoriert und hat keinen Einfluss auf den GL-Status- oder Rahmenpufferinhalt. Wenn der erzeugende Befehl einen Wert zurückgibt, gibt er 0 zurück. Wenn gl.GetError() selbst einen Fehler erzeugt, gibt er 0 zurück.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
Keine

Rückgabewerte
error
Wert des GL-Fehlerflags
Fehler
#GL_INVALID_OPERATION wird erzeugt, wenn gl.GetError() zwischen gl.Begin() und gl.End() ausgeführt wird. In diesem Fall gibt gl.GetError() 0 zurück.


Navigation zeigen