glGetUniform
Inhaltsverzeichnis
glGetTexParameter
Name
glGetUniform - liefert den Wert iner uniform-Variable.
Delphi-Spezifikation
procedure glGetUniformfv(program: TGLuint; location: TGLint; params: PGLfloat); procedure glGetUniformiv(program: TGLuint; location: TGLint; params: PGLint);
Parameter
program | Gibt den Shader an, der die Variable enthält. |
location | Gibt die Position der Variable an, deren Wert man erfragen will. Diesen Wert kann man sich auch mit glGetUniformLocation liefern lassen |
params | In params werden der Wert bzw. die Werte der uniform-Variable ausgegeben. |
Beschreibung
Je nach Typ der Variablen im Shader werden verschiedene Typen ausgegeben: boolean, int, und float liefern einen single-Wert vec2, ivec2, bvec2 liefern zwei Werte des jeweiligen Typs vec3, ivec3, bvec3 liefern drei Werte des jeweiligen Typs (usw.) Arrays werden mit einem Aufruf von glGetUniform für jeden Wert ausgelesen Matrizen werden mit einem Aufruf von glGetUniform für jede Spalte ausgelesen und liefern dabei jeweils so viele Werte zurück, wie in einer Spalte sind (also zum Beispiel bei mat3 drei Werte)
Die location bleibt solange die Selbe, bin das Programm erneut gelinkt wird.
Hinweise
Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von params durchgeführt.
Fehlermeldungen
GL_INVALID_ENUM wird generiert wenn target oder pname ungültige Werte übergeben werden.
GL_INVALID_OPERATION wird generiert wenn glGetTexParameter innerhalb eines glBegin-glEnd Blocks aufgerufen wird.