glGetUniform: Unterschied zwischen den Versionen
(→Beschreibung) |
Frase (Diskussion | Beiträge) K (→Fehlermeldungen) |
||
Zeile 48: | Zeile 48: | ||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | GL_INVALID_VALUE | + | GL_INVALID_VALUE wird zurückgeliefert, wenn ''program'' kein von OpenGL erzeugter Wert ist. |
− | GL_INVALID_OPERATION | + | GL_INVALID_OPERATION wird zurückgeliefert, wenn ''program'' kein Shader ist. |
− | GL_INVALID_OPERATION | + | GL_INVALID_OPERATION wird zurückgeliefert, wenn ''program'' nicht erfolgreich übersetzt wurde. |
− | GL_INVALID_OPERATION | + | GL_INVALID_OPERATION wird zurückgeliefert, wenn ''location'' does not correspond to a valid uniform variable location for the specified program object. |
− | GL_INVALID_OPERATION | + | GL_INVALID_OPERATION wird zurückgeliefert, wenn '''glGetUniform''' is executed between the execution of [[glBegin]] and the corresponding execution of [[glEnd]]. |
<br> | <br> | ||
+ | |||
== Siehe auch == | == Siehe auch == | ||
[[Kategorie:GL|GetTexParameter]] | [[Kategorie:GL|GetTexParameter]] |
Version vom 16. August 2005, 20:56 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
Inhaltsverzeichnis
glGetTexParameter
Name
glGetUniform - liefert den Wert einer 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)
Der Indexwert location bleibt solange die Selbe, bin das Programm erneut gelinkt wird. Die location erhält man durch einen Aufruf von glGetUniformLocation
Hinweise
glGetUniform wird nur ab OpenGL - Version2.0 oder höher unterstützt
Wenn ein Fehler auftritt, werden die Wert von params nicht geändert
Fehlermeldungen
GL_INVALID_VALUE wird zurückgeliefert, wenn program kein von OpenGL erzeugter Wert ist.
GL_INVALID_OPERATION wird zurückgeliefert, wenn program kein Shader ist.
GL_INVALID_OPERATION wird zurückgeliefert, wenn program nicht erfolgreich übersetzt wurde.
GL_INVALID_OPERATION wird zurückgeliefert, wenn location does not correspond to a valid uniform variable location for the specified program object.
GL_INVALID_OPERATION wird zurückgeliefert, wenn glGetUniform is executed between the execution of glBegin and the corresponding execution of glEnd.