glGetUniform: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Fehlermeldungen)
()
Zeile 4: Zeile 4:
 
<br>
 
<br>
 
== Name ==
 
== Name ==
'''glGetUniform''' - liefert den Wert einer uniform-Variable.
+
'''glGetUniform''' - liefert den Wert einer Uniform-Variable.
  
 
<br>
 
<br>
Zeile 21: Zeile 21:
 
<tr>
 
<tr>
 
  <td>''location''</td>
 
  <td>''location''</td>
  <td>Gibt die Position der Variable an, deren Wert man erfragen will. Diesen Wert kann man sich auch mit [[glGetUniformLocation]] liefern lassen</td>
+
  <td>Gibt die Position der Variable an, deren Wert man erfragen will. Diesen Wert kann mittels [[glGetUniformLocation]] beschafft werden.</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
  <td>''params''</td>
 
  <td>''params''</td>
  <td>In params werden der Wert bzw. die Werte der uniform-Variable ausgegeben.</td>
+
  <td>In params werden der Wert bzw. die Werte der Uniform-Variable ausgegeben.</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
Zeile 39: Zeile 39:
 
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)<br>
 
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)<br>
 
<br>
 
<br>
Der Indexwert '''location''' bleibt solange die Selbe, bin das Programm erneut gelinkt wird. Die '''location''' erhält man durch einen Aufruf von [[glGetUniformLocation]]<br>
+
Der Indexwert ''location'' bleibt solange die Selbe, bin das Programm erneut gelinkt wird. Die ''location'' erhält man durch einen Aufruf von [[glGetUniformLocation]]<br>
 
<br>
 
<br>
 +
  
 
== Hinweise ==  
 
== Hinweise ==  
 
glGetUniform wird nur ab OpenGL - Version2.0 oder höher unterstützt
 
glGetUniform wird nur ab OpenGL - Version2.0 oder höher unterstützt
  
Wenn ein Fehler auftritt, werden die Wert von '''params''' nicht geändert
+
Wenn ein Fehler auftritt, wird der Inhalt von ''params'' nicht verändert.
 +
 
  
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
GL_INVALID_VALUE wird zurückgeliefert, wenn '''program''' kein von OpenGL erzeugter Wert ist.
+
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'' kein Programmobjekt (Shader) ist.
  
GL_INVALID_OPERATION wird zurückgeliefert, wenn '''program''' nicht erfolgreich übersetzt wurde.
+
GL_INVALID_OPERATION wird zurückgeliefert, wenn ''program'' nicht erfolgreich gelinkt 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 ''location'' nicht zu einer gültigen Uniform-Variablenlocation für das gelieferte Programmobjekt gehört.
  
GL_INVALID_OPERATION wird zurückgeliefert, wenn '''glGetUniform''' is executed between the execution of [[glBegin]] and the corresponding execution of [[glEnd]].
+
GL_INVALID_OPERATION wird zurückgeliefert, wenn '''glGetUniform''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.
  
 
<br>
 
<br>
 +
 +
 +
== Zugehörige Wertrückgaben ==
 +
[[glGetActiveUniform]] mit den Argumenten ''program'' und dem Index einer aktiven Uniform-Variable.
 +
 +
[[glGetProgram]] mit den Argumenten ''program'' und '''GL_ACTIVE_UNIFORMS''' oder '''GL_ACTIVE_UNIFORM_MAX_LENGTH'''
 +
 +
[[glGetUniformLocation]] mit den Argumenten ''program'' und dem Namen einer Uniform-Variable.
 +
 +
[[glIsProgram]]
 +
  
 
== Siehe auch ==
 
== Siehe auch ==
 +
[[glCreateProgram]], [[glLinkProgram]], [[glUniform]]
  
 
[[Kategorie:GL|GetTexParameter]]
 
[[Kategorie:GL|GetTexParameter]]

Version vom 16. August 2005, 21:16 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

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 mittels glGetUniformLocation beschafft werden.
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, wird der Inhalt von params nicht verä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 Programmobjekt (Shader) ist.

GL_INVALID_OPERATION wird zurückgeliefert, wenn program nicht erfolgreich gelinkt wurde.

GL_INVALID_OPERATION wird zurückgeliefert, wenn location nicht zu einer gültigen Uniform-Variablenlocation für das gelieferte Programmobjekt gehört.

GL_INVALID_OPERATION wird zurückgeliefert, wenn glGetUniform innerhalb eines glBegin-glEnd Blocks aufgerufen wird.



Zugehörige Wertrückgaben

glGetActiveUniform mit den Argumenten program und dem Index einer aktiven Uniform-Variable.

glGetProgram mit den Argumenten program und GL_ACTIVE_UNIFORMS oder GL_ACTIVE_UNIFORM_MAX_LENGTH

glGetUniformLocation mit den Argumenten program und dem Namen einer Uniform-Variable.

glIsProgram


Siehe auch

glCreateProgram, glLinkProgram, glUniform