glGetLight: Unterschied zwischen den Versionen
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
K (Kategorisierung, Wikisyntax für Tabelle) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | '''procedure''' glGetLightfv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLfloat); | + | '''procedure''' glGetLightfv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLfloat); |
'''procedure''' glGetLightiv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLint); | '''procedure''' glGetLightiv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLint); | ||
Zeile 15: | Zeile 15: | ||
== Parameter == | == Parameter == | ||
− | + | {| border="1" rules="all" | |
− | + | ! ''light'' | |
− | + | | Die betreffende Lichtquelle. Die Anzahl möglicher Lichter hängt von der Implementation ab. Es werden aber mindestens acht Lichter unterstützt. <br> | |
− | + | Lichtquellen werden über symbolische Namen identifiziert. Diese lauten '''GL_LIGHT'''i wobei 0<= i < '''GL_MAX_LIGHTS''' ist. | |
− | Lichtquellen werden über symbolische Namen identifiziert. Diese lauten ''' | + | |- |
− | + | ! ''pname'' | |
− | + | | Gibt den Parameter an, der abgefragt werden soll. Akzeptiert werden: <br> | |
− | + | '''GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION,''' und '''GL_QUADRATIC_ATTENUATION''' | |
− | + | |- | |
− | '''GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION,''' und '''GL_QUADRATIC_ATTENUATION''' | + | ! ''params'' |
− | + | | Liefert den Rückgabewert zurück. | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
+ | == Beschreibung == | ||
+ | '''glGetLight''' liefert in ''params'' den oder die Werte des abgefragten Parameters der Lichtquelle ''light'' zurück. ''light'' ist dabei der symbolische Name einer Lichtquelle. Die Namen haben alle die Form '''GL_LIGHT'''i wobei i von 0 bis '''GL_MAX_LIGHTS'''-1 reichen kann. '''GL_MAX_LIGHTS''' ist eine implementationsabhängige Konstante, die größer oder gleich 8 ist. | ||
− | + | ''pname'' spezifiziert (wiederum über symbolische Namen), welcher Parameter abgefragt werden soll. ''pname'' akzeptiert dazu folgende Eingaben: | |
− | |||
− | ''pname'' spezifiziert (wiederum über symbolische Namen) welcher Parameter abgefragt werden soll. ''pname'' akzeptiert dazu folgende Eingaben: | ||
'''GL_AMBIENT''' | '''GL_AMBIENT''' | ||
: ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des ambienten Lichts. | : ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des ambienten Lichts. | ||
: Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | : Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | ||
− | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt ist der sich ergebende ganzzahlige Rückgabewert undefiniert. | + | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert. |
'''GL_DIFFUSE''' | '''GL_DIFFUSE''' | ||
: ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des diffusen Lichts. | : ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des diffusen Lichts. | ||
: Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | : Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | ||
− | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt ist der sich ergebende ganzzahlige Rückgabewert undefiniert. | + | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert. |
'''GL_SPECULAR''' | '''GL_SPECULAR''' | ||
: ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des Glanzlichts. | : ''params'' liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des Glanzlichts. | ||
: Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | : Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird. | ||
− | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt ist der sich ergebende ganzzahlige Rückgabewert undefiniert. | + | : Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert. |
'''GL_POSITION''' | '''GL_POSITION''' | ||
Zeile 99: | Zeile 95: | ||
'''GL_INVALID_ENUM''' wird generiert, wenn ''light'' oder ''pname'' kein gültiger Wert übergeben wurde. | '''GL_INVALID_ENUM''' wird generiert, wenn ''light'' oder ''pname'' kein gültiger Wert übergeben wurde. | ||
− | '''GL_INVALID_OPERATION''' wird generiert, wenn ''glGetLight'' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | + | '''GL_INVALID_OPERATION''' wird generiert, wenn ''glGetLight'' innerhalb eines [[glBegin]]-[[glEnd]]-Blocks aufgerufen wird. |
Zeile 106: | Zeile 102: | ||
== Siehe auch == | == Siehe auch == | ||
[[glLight]] | [[glLight]] | ||
− | |||
[[Kategorie:GL|GetLight]] | [[Kategorie:GL|GetLight]] | ||
+ | [[Kategorie:GL1.0|GetLight]] |
Aktuelle Version vom 20. Juli 2011, 02:26 Uhr
Inhaltsverzeichnis
glGetLight
Name
glGetLight - liefert die Werte der Parameter von Lichtquellen zurück.
Delphi-Spezifikation
procedure glGetLightfv(light: TGLenum; pname: TGLenum; params: PGLfloat); procedure glGetLightiv(light: TGLenum; pname: TGLenum; params: PGLint);
Parameter
light | Die betreffende Lichtquelle. Die Anzahl möglicher Lichter hängt von der Implementation ab. Es werden aber mindestens acht Lichter unterstützt. Lichtquellen werden über symbolische Namen identifiziert. Diese lauten GL_LIGHTi wobei 0<= i < GL_MAX_LIGHTS ist. |
---|---|
pname | Gibt den Parameter an, der abgefragt werden soll. Akzeptiert werden: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, und GL_QUADRATIC_ATTENUATION |
params | Liefert den Rückgabewert zurück. |
Beschreibung
glGetLight liefert in params den oder die Werte des abgefragten Parameters der Lichtquelle light zurück. light ist dabei der symbolische Name einer Lichtquelle. Die Namen haben alle die Form GL_LIGHTi wobei i von 0 bis GL_MAX_LIGHTS-1 reichen kann. GL_MAX_LIGHTS ist eine implementationsabhängige Konstante, die größer oder gleich 8 ist.
pname spezifiziert (wiederum über symbolische Namen), welcher Parameter abgefragt werden soll. pname akzeptiert dazu folgende Eingaben:
GL_AMBIENT
- params liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des ambienten Lichts.
- Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird.
- Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert.
GL_DIFFUSE
- params liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des diffusen Lichts.
- Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird.
- Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert.
GL_SPECULAR
- params liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Helligkeit des Glanzlichts.
- Integerwerte werden, wenn abgefragt, linear von der internen Fließkommarepresentation abgeleitet. Dies geschieht so, dass 1.0 auf den größtmöglichen positiven Integerwert und -1.0 auf den kleinstmöglichen negativen Integerwert abgebildet wird.
- Wenn der interne Fließkommawert außerhalb des Intervalls [-1, 1] liegt, ist der sich ergebende ganzzahlige Rückgabewert undefiniert.
GL_POSITION
- params liefert vier ganzahlige oder Fließkommawerte zurück. Diese representieren die Position der Lichtquelle als x-, y-, z- und w-Koordianten.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
- Die Rückgabewerte sind Angaben in Betrachterkoordinaten. Sie werden nicht gleich denen sein, die mittels glLight angegeben wurden, außer die Modelviewmatrix ist die selbe wie beim aufruf von glLight.
GL_SPOT_DIRECTION
- params liefert drei ganzahlige oder Fließkommawerte zurück. Diese representieren die Richtung, in welche die Lichtquelle scheint.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
- Die Rückgabewerte sind Angaben in Betrachterkoordinaten. Sie werden nicht gleich denen sein, die mittels glLight angegeben wurden, außer die Modelviewmatrix ist die selbe wie beim aufruf von glLight.
- Obwohl die Richtung der Lichtquelle normalisiert wird, bevor sie in der Lichtberechnung benutzt wird, sind die Rückgabewerte die transformierten Versionen der jeweiligen Werte bevor(!) sie normalisiert wurden.
GL_SPOT_EXPONENT
- params liefert eine Ganzahl oder einen Fließkommawerte zurück. Die Rückgabe representieren die Intensitätsverteilung (Spot Exponent) der Lichtquelle.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
GL_SPOT_CUTOFF
- params liefert eine Ganzahl oder einen Fließkommawerte zurück. Die Rückgabe representieren den Streuungswinkel (Spot Cuttoff) der Lichtquelle.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
GL_CONSTANT_ATTENUATION
- params liefert eine Ganzahl oder einen Fließkommawerte zurück. Die Rückgabe representieren den konstanten (nicht distanzabhängigen) Anteil der Lichtabschwächung für die Lichtquelle.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
GL_LINEAR_ATTENUATION
- params liefert eine Ganzahl oder einen Fließkommawerte zurück. Die Rückgabe representieren den linearen Anteil der Lichtabschwächung für die Lichtquelle.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
GL_QUADRATIC_ATTENUATION
- params liefert eine Ganzahl oder einen Fließkommawerte zurück. Die Rückgabe representieren den quadratischen Anteil der Lichtabschwächung für die Lichtquelle.
- Integerwerte werden, wenn abgefragt, direkt von der internen Fließkommadarstellung überführt. Dies geschieht durch Rundung auf den nächsten ganzzahligen Wert.
Es gilt immer: GL_LIGHTi = GL_LIGHT0 + i
Hinweise
Tritt ein Fehler auf, werden keine Veränderungen am Inhalt von params gemacht.
Fehlermeldungen
GL_INVALID_ENUM wird generiert, wenn light oder pname kein gültiger Wert übergeben wurde.
GL_INVALID_OPERATION wird generiert, wenn glGetLight innerhalb eines glBegin-glEnd-Blocks aufgerufen wird.