glGetInfoLogARB

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glGetInfoLogARB


Name

glGetInfoLogARB - liefert geloggte Information eines Objekts


Delphi-Spezifikation

procedure glGetInfoLogARB(object : GLhandleARB; maxLength : GLsizei; length : ^GLsizei;
infoLog : ^GlcharARB)


Parameter

object Gibt das Handle des Objekts an, dessen Informationen abgerufen werden soll.
maxLength Gibt die Größe des Zeichen-Puffers an, in dem die Informationen abgelegt werden sollen.
length Liefert die Länge des Strings, der in infoLog abgelegt wurde.
infoLog Gibt ein Array mit Zeichen an, das verwendet wird, die geloggten Informationen zurückzugeben.


Beschreibung

glGetInfoLogARB liefert geloggte Informationen für das angegebene - von OpenGL erzeugte - Objekt. Die Informationen über ein Shaderobjekt werden verändert, wenn der Shader kompiliert wird und die Informationen über Programmobjekt werden verändert, wenn das Programmobjekt gelinkt oder überprüft wurde. Der zurückgelieferte String ist unterminiert.

glGetInfoLogARB speichert in infoLog so viel wie möglich ab, die Obergrenze ist durch maxLength gegeben. Die wirkliche Anzahl der ausgebenen Zeichen wird in length ausgegeben. Wenn die Länge des zurückgelieferten Strings uninteressant ist, kann nil an das length-Argument übergeben werden. Die Länge der geloggten Informationen kann man durch den Aufruf von glGetObjectParameterARB mit dem Token GL_OBJECT_INFO_LOG_LENGTH_ARB abfragen.

Die geloggten Informationen können die Nachrichten zur Analyse, Warnungen und andere Mitteilungen über den letzten Kompilier-Vorgang (von Shaderobjekten) oder das letzte Linken oder Überprüfen (von Programmobjekten) enthalten. Wenn ein Shaderobjekt oder ein Programmobjekt erzeugt wird, ist die Länge des Logs 0.

Hinweise

Die geloggten Informationen sind sie einzige Möglichkeit, Nachrichten über das Kompilieren, Linken und Überprüfen abzufragen, so dass das Log nützlich für Programmierer sein kann, auch wenn das Kompilieren und Linken problemlos verlaufen ist. Programmierer sollten aber nicht erwarten, dass verschiedene OpenGL-Implementationen identische Informationen liefern. Logs von ATI und NVidia zum Beispiel unterscheiden sich sehr stark.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn object kein von OpenGL erzeugtes Handle ist.
GL_INVALID_OPERATION wird generiert, wenn object nicht vom Typ GL_PROGRAM_OBJECT_ARB oder GL_SHADER_OBJECT_ARB ist.
GL_INVALID_OPERATION wird generiert, wenn glGetInfoLogARB innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGetObjectParameterARB mit Token GL_OBJECT_INFO_LOG_LENGTH_ARB

Siehe auch

glCompileShaderARB, glLinkProgramARB, glValidateProgramARB