glGetUniform: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Parameter)
(Beschreibung)
Zeile 30: Zeile 30:
  
 
== Beschreibung ==  
 
== Beschreibung ==  
'''glGetTexParameter''' liefert über die Rückgabevariable ''params'' den Wert der Textureigenschaft, die mit ''pname'' angegeben wurde. Der Parameter ''target'' definiert die Zieltextur. '''GL_TEXTURE_1D''' steht für ein-dimensionale, '''GL_TEXTURE_2D''' für zwei-dimensionale, und '''GL_TEXTURE_3D''' für drei-dimensionale Texturierung.<br>
+
Je nach Typ der Variablen im Shader werden verschiedene Typen ausgegeben:
Die Werte die ''pname'' akzeptiert, sind die selben Parameter wie bei [[glTexParameter]] und haben auch die gleiche Bedeutung:
+
'''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)
  
'''GL_TEXTURE_MAG_FILTER'''
+
Die '''location''' bleibt solange die Selbe, bin das Programm erneut gelinkt wird.
: Liefert einen einzelnen Wert, eine symbolische Konstante, für den Textur-Vergrößerungs-Filter.
+
<br>
 
 
'''GL_TEXTURE_MIN_FILTER'''
 
: Liefert einen einzelnen Wert, eine symbolische Konstante, für den Textur-Verkleinerungs-Filter.
 
 
 
'''GL_TEXTURE_MIN_LOD_EXT'''
 
: Liefert als einzelnen Wert den minimal einstellbaren Detaillevel (LOD) zurück. Vorgabewert ist -1000.
 
  
'''GL_TEXTURE_MAX_LOD_EXT'''
 
: Liefert als einzelnen Wert den maximal einstellbaren Detaillevel (LOD) zurück. Vorgabewert ist 1000.
 
 
'''GL_TEXTURE_BASE_LEVEL_EXT'''
 
: Liefert als einzelnen Wert den Texturen-Basislevel zurück. Vorgabewert ist 0
 
 
'''GL_TEXTURE_MAX_LEVEL_EXT'''
 
: Liefert als einzelnen Wert den höchsten Texturen-Basislevel zurück. Vorgabewert ist 1000
 
 
'''GL_TEXTURE_WRAP_S'''
 
: Liefert einen Einzelnen Wert, eine symbolische Konstante, für die '''wrapping function''' der S-Texturkoordinate.
 
 
'''GL_TEXTURE_WRAP_T'''
 
: Liefert einen Einzelnen Wert, eine symbolische Konstante, für die '''wrapping function''' der T-Texturkoordinate.
 
 
'''GL_TEXTURE_BORDER_COLOR'''
 
: Liefert vier ganzzahlige oder fließkomma Werte, welche die RGBA Farbe der Texturgrenzen angibt.
 
: Fließkommazahlen werden als Werte innerhalb des Intervalls [0, 1] zurückgegeben.
 
: Ganzzahlige Werte werden linear auf ihren Wertebreich übertragen. Dies geschieht so, dass 1.0 zum größtmöglichen positiven Wert und -1.0 zum kleinsmöglichen negativen Wert wird.
 
 
'''GL_TEXTURE_PRIORITY'''
 
: Liefert die Residenz-Priorität (gibt an welche Texturen zuerst ausgelagert werden) der Zieltextur (oder des benannten Texturobjektes) zurück. Der Vorgabewert ist 1. Siehe [[glPriorizeTextures]].
 
 
'''GL_TEXTURE_RESIDENT'''
 
: Liefert den Residenz-Status einer Zieltextur zurück. Wenn das Ergebnis '''GL_TRUE''' ist, liegt die Textur resident im Grafikkartenspeicher. Siehe [[glAreTexturesResident]].
 
 
'''GL_GENERATE_MIPMAP'''
 
: Liefert den Status der Mipmap-Generierung zurück. Wenn '''GL_TRUE''' zurückgegeben wird, werden Mipmaps generiert. Siehe [[glTexParameter]].
 
 
<br>
 
 
== Hinweise ==
 
== Hinweise ==
 
Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von ''params'' durchgeführt.
 
Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von ''params'' durchgeführt.

Version vom 16. August 2005, 11:57 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

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.


Siehe auch

glAreTexturesResident, glPrioritizeTextures, glTexParameter