glGetProgramInfoLog: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Bildwunsch)
K (Link & Spezifikation korrigiert)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Bildwunsch|Ein Beispiel Log wäre toll. Nicht zwingend als Bild.}}
 
 
= glGetProgramInfoLog =
 
= glGetProgramInfoLog =
  
Zeile 7: Zeile 6:
 
'''glGetProgramInfoLog''' - Gibt das Information-Log eines Programmobjekts aus
 
'''glGetProgramInfoLog''' - Gibt das Information-Log eines Programmobjekts aus
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 +
procedure '''glGetProgramInfoLog'''(''program'': TGLuint; ''maxLength'': TGLsizei;  ''length'': PGLsizei; ''infoLog'': PGLchar)
  
procedure '''glGetProgramInfoLog'''(''program'' : GLuint; ''maxLength'' : GLsizei;  ''length'' : PGLsizei; ''infoLog'' : PGLchar)
 
  
  
Zeile 39: Zeile 39:
 
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.
 
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.
  
<br>
+
 
 +
 
 +
== 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 46: 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 62: 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]]
  
[[glsProgram]]
+
[[glIsProgram]]
  
  
Zeile 69: Zeile 78:
  
  
[[Kategorie:GL|GetProgram]]
+
[[Kategorie:GL|GetProgramInfoLog]]

Aktuelle Version vom 23. April 2008, 16:21 Uhr

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

glIsProgram


Siehe auch

glCompileShader, glGetShaderInfoLog, glLinkProgram, glValidateProgram