glGetShaderInfoLog: Unterschied zwischen den Versionen
K (Tippfehler bei glIsShader) |
K (→Beschreibung) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 33: | Zeile 33: | ||
− | '''glGetShaderInfoLog''' legt in ''infoLog'' maximal so viele Zeichen des Information-Log ab, wie durch ''maxLength'' angegeben wurde. Die Anzahl der ausgegebenen Zeichen - ausschließlich der Null-Terminierung - wird durch ''length'' angegeben. Wenn die Länge des | + | '''glGetShaderInfoLog''' legt in ''infoLog'' maximal so viele Zeichen des Information-Log ab, wie durch ''maxLength'' angegeben wurde. Die Anzahl der ausgegebenen Zeichen - ausschließlich der Null-Terminierung - wird durch ''length'' angegeben. Wenn die Länge des ausgegebenen Strings nicht von Interesse ist, kann '''nil''' als ''length''-Argument verwendet werden. Die Größe des Puffers, der zum Speichern des zurückgelieferten Information-Log verwendet wird, kann durch einen Aufruf von [[glGetShader]] mit dem Argument '''GL_INFO_LOG_LENGTH''', herausgefunden werden. |
− | Das Information-Log für ein Shaderobjekt ist entweder ein leerer String oder ein String, der Informationen über die letzte Link- oder Validierungs-Operation enthält. Das Log kann Diagnose-Nachrichten, Warnungen und andere Informationen enthalten. Wenn ein Shaderobjekt erzeugt wird, ist sein | + | Das Information-Log für ein Shaderobjekt ist entweder ein leerer String oder ein String, der Informationen über die letzte Link- oder Validierungs-Operation enthält. Das Log kann Diagnose-Nachrichten, Warnungen und andere Informationen enthalten. Wenn ein Shaderobjekt erzeugt wird, ist sein Informations-Log nicht unbedingt ein String mit der Länge 0, beispielsweise können gewisse OpenGL-Implementationen die Ausgabe "no errors." mit length 11 ausgeben. Deshalb sollte man vor einem Aufruf von '''glGetShaderInfoLog''' [[glGetShader]] mit dem Argument '''GL_COMPILE_STATUS''' abfragen. |
<br> | <br> |
Aktuelle Version vom 11. November 2017, 16:22 Uhr
Inhaltsverzeichnis
glGetShaderInfoLog
Name
glGetShaderInfoLog - Gibt das Information-Log eines Shaderobjekts aus
Delphi-Spezifikation
procedure glGetShaderInfoLog(shader : GLuint; maxLength : GLsizei; length : PGLsizei; infoLog : PGLchar)
Parameter
shader | Gibt das Shaderobjekt an, dessen Information-Log abgefragt werden soll. |
---|---|
maxLength | Gibt die Größe des Zeichen-Puffers für das Speichern des erhaltenen Information-Logs an. |
length | Gibt die Länge des Strings (ohne die Null-Terminierung) an, der nach infoLog ausgegeben wird. |
infoLog | Gibt ein Zeichen-Array an, das verwendet wird, um das Information-Log auszugeben. |
Beschreibung
glGetShaderInfoLog gibt das Information-Log für das spezifizierte Shaderobjekt aus. Das Information-Log eines Shaderobjekts wird verändert, wenn das Shaderobjekt gelinkt oder validiert wird. Der ausgegebene String ist null-terminiert.
glGetShaderInfoLog legt in infoLog maximal so viele Zeichen des Information-Log ab, wie durch maxLength angegeben wurde. Die Anzahl der ausgegebenen Zeichen - ausschließlich der Null-Terminierung - wird durch length angegeben. Wenn die Länge des ausgegebenen Strings nicht von Interesse ist, kann nil als length-Argument verwendet werden. Die Größe des Puffers, der zum Speichern des zurückgelieferten Information-Log verwendet wird, kann durch einen Aufruf von glGetShader mit dem Argument GL_INFO_LOG_LENGTH, herausgefunden werden.
Das Information-Log für ein Shaderobjekt ist entweder ein leerer String oder ein String, der Informationen über die letzte Link- oder Validierungs-Operation enthält. Das Log kann Diagnose-Nachrichten, Warnungen und andere Informationen enthalten. Wenn ein Shaderobjekt erzeugt wird, ist sein Informations-Log nicht unbedingt ein String mit der Länge 0, beispielsweise können gewisse OpenGL-Implementationen die Ausgabe "no errors." mit length 11 ausgeben. Deshalb sollte man vor einem Aufruf von glGetShaderInfoLog glGetShader mit dem Argument GL_COMPILE_STATUS abfragen.
Hinweise
glGetShaderInfoLog ist nur in OpenGL-Versionen ab mindestens 2.0 verfügbar.
Das Information-Log für ein Shaderobjekt ist der wichtigste Weg der OpenGL-Implementation, Informationen über das Linken und Validieren mitzuteilen. Das Information-Log kann während dem Entwicklungsprozess hilfreich für Programmierer sein, auch wenn diese Operationen erfolgreich verlaufen. Man sollte aber nicht erwarten, dass verschiedene OpenGL-Implementationen (vor allem von verschiedenen Herstellern) identische Information-Logs liefern.
Fehlermeldungen
GL_INVALID_VALUE wird generiert, wenn shader kein von OpenGL erzeugter Wert ist.
GL_INVALID_OPERATION wird generiert, wenn shader kein Shaderobjekt ist.
GL_INVALID_VALUE wird generiert, wenn maxLength kleiner 0 ist.
GL_INVALID_OPERATION wird generiert, wenn glGetShaderInfoLog innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGetShader mit Token GL_INFO_LOG_LENGTH
Siehe auch
glCompileShader, glGetShaderInfoLog, glLinkProgram, glValidateProgram