glGetProgram

Aus DGL Wiki
Version vom 10. August 2006, 13:45 Uhr von Flash (Diskussion | Beiträge) (Neuer Artikel - Bitte Korrektur lesen)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

glGetProgram

Name

glGetProgram - Liefert Eigenschaften eines Programmobjekts.


Delphi-Spezifikation

procedure glGetProgram(program : GLuint; pname : GLenum; params : PGLint);


Parameter

program Bestimmt das Programmobjekt dessen Daten ermittelt werden sollen.
pname Bestimmt was abgefragt werden soll. Akzeptierte symbolische Namen sind GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH.
params Enthält das Ergebnis der Anfrage.


Beschreibung

glGetProgram liefert in params den Wert einer Eigenschaft eins bestimmten Programmobjekts. Die folgenden Werte für pname sind definiert:

GL_DELETE_STATUS

params liefert GL_TRUE falls program zum freigeben markiert wurde, sonst GL_FALSE.

GL_LINK_STATUS

params liefert GL_TRUE falls die letzte Link-Operation auf program erfolgreich war, sonst GL_FALSE.

GL_VALIDATE_STATUS

params liefert GL_TRUE falls die letzte Validierungs-Operation auf program erfolgreich war, sonst GL_FALSE.

GL_INFO_LOG_LENGTH

params liefert die Anzahl der Zeichen im InfoLog von program einschließlich des 0/Terminierungszeichens (Dies entspricht der Größe des Zeichenpuffers der benötigt wird um das InfoLog zu speichern). Falls program kein InfoLog hat, wird der Wert 0 zurück geliefert.

GL_ATTACHED_SHADERS

params liefert die Anzahl der Shader-Objekte die an program gebunden sind.

GL_ACTIVE_ATTRIBUTES

params liefert die Anzahl der aktiven Attributvariablen für program.

GL_ACTIVE_ATTRIBUTE_MAX_LENGTH

params liefert die Länge des längsten aktiven Attributnamen für program inklusive des 0/Terminierungszeichens (Das entspricht der benötigten Größe des Zeichenpuffers um den längsten Attributnamen zu speichern). Falls kein aktives Attribut existiert wird 0 zurück geliefert.

GL_ACTIVE_UNIFORMS

params liefert die Anzahl aktiver Uniformvariablen für program.

GL_ACTIVE_UNIFORM_MAX_LENGTH

params liefert die länge des längsten Namens einer aktiven Uniformvariable für program inklusive des 0/Terminierungszeichens (Das entspricht der benötigten Größe des Zeichenpuffers um den längsten Namen zu speichern). Falls keine aktive Uniformvariable existiert wird 0 zurück geliefert.


Hinweise

glGetProgram ist erst ab OpenGL Version 2.0 oder höher verfügbar.

Falls ein Fehler auftritt werden keine Änderungen am Inhalt von params gemacht.


Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn pname kein akzeptierter Wert ist.
GL_INVALID_VALUE wird generiert wenn program kein von OpenGL generierter Wert ist.
GL_INVALID_OPERATION wird generiert wenn program kein Programmobjekt bezeichnet.
GL_INVALID_OPERATION wird generiert wenn glGetProgram innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGetActiveAttrib mit dem Argument program

glGetActiveUniform mit dem Argument program

glGetAttachedShaders mit dem Argument program

glGetProgramInfoLog mit dem Argument program

glsProgram


Siehe auch

glAttachShader, glCreateProgram, glDeleteProgram, glGetShader, glLinkProgram, glValidateProgram