glGetLight: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (=Fehlermeldungen=)
K (Trennlinien entfernt)
Zeile 3: Zeile 3:
 
<br>
 
<br>
 
== Name ==
 
== Name ==
----
 
 
'''glGetLight''' - liefert die Werte der Parameter von Lichtquellen zurück.
 
'''glGetLight''' - liefert die Werte der Parameter von Lichtquellen zurück.
  
 
<br>
 
<br>
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
----
 
 
  '''procedure''' glGetLightfv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLfloat); <br>
 
  '''procedure''' glGetLightfv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLfloat); <br>
 
  '''procedure''' glGetLightiv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLint);
 
  '''procedure''' glGetLightiv(''light'': TGLenum; ''pname'': TGLenum; ''params'': PGLint);
Zeile 14: Zeile 12:
 
<br>
 
<br>
 
== Parameter ==
 
== Parameter ==
----
 
 
<table border=1 rules=all>
 
<table border=1 rules=all>
 
<tr>
 
<tr>
Zeile 35: Zeile 32:
  
 
== Beschreibung ==  
 
== 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. <br>
 
'''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. <br>
 
''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:
Zeile 90: Zeile 86:
 
<br>
 
<br>
 
== Hinweise ==
 
== Hinweise ==
----
 
 
Tritt ein Fehler auf, werden keine Veränderungen am Inhalt von ''params'' gemacht.
 
Tritt ein Fehler auf, werden keine Veränderungen am Inhalt von ''params'' gemacht.
  
 
<br>
 
<br>
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
----
 
 
'''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.
  
Zeile 103: Zeile 97:
  
 
== Siehe auch ==
 
== Siehe auch ==
----
 
 
[[glLight]]
 
[[glLight]]

Version vom 16. August 2004, 00:59 Uhr

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_LICHTi 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 den 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 Spot Cuttoff Winkel 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.


Siehe auch

glLight