glGetProgram
Inhaltsverzeichnis
- 1 glGetProgram
- 1.1 Name
- 1.2 Delphi-Spezifikation
- 1.3 Parameter
- 1.4 Beschreibung
- 1.4.1 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
- 1.4.2 GL_ACTIVE_ATTRIBUTES
- 1.4.3 GL_ACTIVE_UNIFORM_MAX_LENGTH
- 1.4.4 GL_ACTIVE_UNIFORMS
- 1.4.5 GL_ATTACHED_SHADERS
- 1.4.6 GL_DELETE_STATUS
- 1.4.7 GL_GEOMETRY_INPUT_TYPE_ARB
- 1.4.8 GL_GEOMETRY_OUTPUT_TYPE_ARB
- 1.4.9 GL_GEOMETRY_VERTICES_OUT_ARB
- 1.4.10 GL_INFO_LOG_LENGTH
- 1.4.11 GL_LINK_STATUS
- 1.4.12 GL_VALIDATE_STATUS
- 1.5 Hinweise
- 1.6 Fehlermeldungen
- 1.7 Zugehörige Wertrückgaben
- 1.8 Siehe auch
glGetProgram
Name
glGetProgramiv - Liefert Eigenschaften eines Programmobjekts.
Delphi-Spezifikation
procedure glGetProgramiv(program: TGLuint; pname: TGLenum; params: PGLint);
Parameter
program | Bestimmt das Programmobjekt, dessen Daten ermittelt werden sollen. |
---|---|
pname | Bestimmt, was abgefragt werden soll. Akzeptierte symbolische Namen sind GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_ACTIVE_UNIFORMS, GL_ATTACHED_SHADERS, GL_DELETE_STATUS, GL_INFO_LOG_LENGTH, GL_LINK_STATUS, GL_VALIDATE_STATUS und mit der Extension GL_ARB_geometry_shader4 weiterhin die symbolischen Namen GL_GEOMETRY_INPUT_TYPE_ARB, GL_GEOMETRY_OUTPUT_TYPE_ARB und GL_GEOMETRY_VERTICES_OUT_ARB. |
params | Enthält das Ergebnis der Anfrage. |
Beschreibung
glGetProgram liefert in params den Wert einer Eigenschaft eines bestimmten Programmobjekts. Die folgenden Werte für pname sind definiert:
GL_ACTIVE_ATTRIBUTE_MAX_LENGTH
- params liefert die Länge des längsten aktiven Attributnamen für program inklusive des abschließenden Nullzeichens. (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_ATTRIBUTES
- params liefert die Anzahl der aktiven Attributvariablen 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 abschließenden Nullzeichens. (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.
GL_ACTIVE_UNIFORMS
- params liefert die Anzahl aktiver Uniformvariablen für program.
GL_ATTACHED_SHADERS
- params liefert die Anzahl der Shader-Objekte, die an program gebunden sind.
GL_DELETE_STATUS
- params liefert GL_TRUE, falls program zum Freigeben markiert wurde, sonst GL_FALSE.
GL_GEOMETRY_INPUT_TYPE_ARB
- params liefert den zuletzt mit glProgramParameterARB gesetzten Typ der Input-Primitiven für Geometry Shader. Mögliche Rückgabewerte sind GL_POINTS , GL_LINES, GL_LINES_ADJACENCY_ARB, GL_TRIANGLES und GL_TRIANGLES_ADJACENCY_ARB. Steht nur im Zusammenhang mit der Extension GL_ARB_geometry_shader4 zur Verfügung.
GL_GEOMETRY_OUTPUT_TYPE_ARB
- params liefert den zuletzt mit glProgramParameterARB gesetzten Typ der Output-Primitiven für Geometry Shader. Mögliche Rückgabewerte sind GL_POINTS, GL_LINE_STRIP und GL_TRIANGLE_STRIP. Steht nur im Zusammenhang mit der Extension GL_ARB_geometry_shader4 zur Verfügung.
GL_GEOMETRY_VERTICES_OUT_ARB
- params liefert die zuletzt mit glProgramParameterARB gesetzte maximale Anzahl von Output-Vertices für Geometry Shader. Steht nur im Zusammenhang mit der Extension GL_ARB_geometry_shader4 zur Verfügung.
GL_INFO_LOG_LENGTH
- params liefert die Anzahl der Zeichen im InfoLog von program einschließlich des terminierenden Nullbytes. (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_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.
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
Siehe auch
glAttachShader, glCreateProgram, glDeleteProgram, glGetShader, glLinkProgram, glProgramParameterARB, glValidateProgram
Hintergrundwissen : Shader