glGetUniform: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Siehe auch)
Zeile 58: Zeile 58:
 
<br>
 
<br>
 
== Siehe auch ==
 
== Siehe auch ==
[[glAreTexturesResident]], [[glPrioritizeTextures]], [[glTexParameter]]
 
 
  
 
[[Kategorie:GL|GetTexParameter]]
 
[[Kategorie:GL|GetTexParameter]]

Version vom 16. August 2005, 12:02 Uhr

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

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 is generated if program is not a value generated by OpenGL.

GL_INVALID_OPERATION is generated if program is not a program object.

GL_INVALID_OPERATION is generated if program has not been successfully linked.

GL_INVALID_OPERATION is generated if location does not correspond to a valid uniform variable location for the specified program object.

GL_INVALID_OPERATION is generated if glGetUniform is executed between the execution of glBegin and the corresponding execution of glEnd.


Siehe auch