glGetProgramInfoLog: Unterschied zwischen den Versionen
K (Link & Spezifikation korrigiert) |
|||
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
'''glGetProgramInfoLog''' - Gibt das Information-Log eines Programmobjekts aus | '''glGetProgramInfoLog''' - Gibt das Information-Log eines Programmobjekts aus | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
+ | procedure '''glGetProgramInfoLog'''(''program'': TGLuint; ''maxLength'': TGLsizei; ''length'': PGLsizei; ''infoLog'': PGLchar) | ||
− | |||
Zeile 33: | Zeile 34: | ||
− | '''glGetProgramInfoLog''' legt in ''infoLog'' maximal so viele Zeichen des Information-Log | + | '''glGetProgramInfoLog''' 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 ausgegenen 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 [[glGetProgram]] mit dem Argument '''GL_INFO_LOG_LENGTH''', herausgefunden werden. |
− | Das | + | Das Information-Log für ein Programmobjekt 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 Programmobjekt erzeugt wird, ist sein Information-Log ein String mit der Länge 0. |
− | + | ||
+ | |||
+ | == Beispiel == | ||
+ | Hier ein Beispiel eines Logs (Fragment-Shader) | ||
+ | Fragment info | ||
+ | ------------- | ||
+ | (95) : warning C7011: implicit cast from "float" to "bool" | ||
+ | (95) : warning C7504: OpenGL does not allow writing to input variable 'vpos' | ||
+ | (67) : warning C7050: "Color2.w" might be used before being initialized | ||
== Hinweise == | == Hinweise == | ||
Zeile 45: | Zeile 54: | ||
Das Information-Log für ein Programobjekt 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. | Das Information-Log für ein Programobjekt 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. | ||
+ | |||
Zeile 61: | Zeile 71: | ||
[[glGetProgram]] mit Token [[glGetProgram#GL_INFO_LOG_LENGTH|GL_INFO_LOG_LENGTH]] | [[glGetProgram]] mit Token [[glGetProgram#GL_INFO_LOG_LENGTH|GL_INFO_LOG_LENGTH]] | ||
− | [[ | + | [[glIsProgram]] |
Zeile 68: | Zeile 78: | ||
− | [[Kategorie:GL| | + | [[Kategorie:GL|GetProgramInfoLog]] |
Aktuelle Version vom 23. April 2008, 16:21 Uhr
Inhaltsverzeichnis
glGetProgramInfoLog
Name
glGetProgramInfoLog - Gibt das Information-Log eines Programmobjekts aus
Delphi-Spezifikation
procedure glGetProgramInfoLog(program: TGLuint; maxLength: TGLsizei; length: PGLsizei; infoLog: PGLchar)
Parameter
program | Gibt das Programmobjekt 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
glGetProgramInfoLog gibt das Information-Log für das spezifizierte Programmobjekt aus. Das Information-Log eines Programmobjekts wird verändert, wenn das Programmobjekt gelinkt oder validiert wird. Der ausgegebene String ist null-terminiert.
glGetProgramInfoLog 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 ausgegenen 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 glGetProgram mit dem Argument GL_INFO_LOG_LENGTH, herausgefunden werden.
Das Information-Log für ein Programmobjekt 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 Programmobjekt erzeugt wird, ist sein Information-Log ein String mit der Länge 0.
Beispiel
Hier ein Beispiel eines Logs (Fragment-Shader)
Fragment info ------------- (95) : warning C7011: implicit cast from "float" to "bool" (95) : warning C7504: OpenGL does not allow writing to input variable 'vpos' (67) : warning C7050: "Color2.w" might be used before being initialized
Hinweise
glGetProgramInfoLog ist nur in OpenGL-Versionen ab mindestens 2.0 verfügbar.
Das Information-Log für ein Programobjekt 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 program kein von OpenGL erzeugter Wert ist.
GL_INVALID_OPERATION wird generiert, wenn program kein Programmobjekt ist.
GL_INVALID_VALUE wird generiert, wenn maxLength kleiner 0 ist.
GL_INVALID_OPERATION wird generiert, wenn glGetProgramInfoLog innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGetProgram mit Token GL_INFO_LOG_LENGTH
Siehe auch
glCompileShader, glGetShaderInfoLog, glLinkProgram, glValidateProgram