glFogCoord: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Zugehörige Wertrückgaben: kleiner Tokenfehler beseitigt)
K (Bot: konvertiere/korrigiere <BR>)
Zeile 1: Zeile 1:
 
= glFogCoord =
 
= glFogCoord =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''glFogCoord''' - setzt die aktuellen [[Nebel]]koordinaten für ein [[Vertex]].
 
'''glFogCoord''' - setzt die aktuellen [[Nebel]]koordinaten für ein [[Vertex]].
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  procedure '''glFogCoordd'''(''coord'': TGLdouble);
 
  procedure '''glFogCoordd'''(''coord'': TGLdouble);
Zeile 19: Zeile 21:
 
|}
 
|}
  
<br>
+
 
 +
 
 
== Beschreibung ==  
 
== Beschreibung ==  
 
Die aktuellen Nebelkoordinaten sind Teil der Daten, die mit den Eckpunkten ([[Vertex|Vertices]]) von Polygonen in Zusammenhang stehen. Mittels '''glFogCoord''' werden diese Nebelkoordinaten gesetzt.
 
Die aktuellen Nebelkoordinaten sind Teil der Daten, die mit den Eckpunkten ([[Vertex|Vertices]]) von Polygonen in Zusammenhang stehen. Mittels '''glFogCoord''' werden diese Nebelkoordinaten gesetzt.
Zeile 29: Zeile 32:
 
Ähnlich wie bei den anderen Vertexattributen wird auch die Nebelkoordinate zwischen zwei nebeneinanderliegenden Eckpunkten interpoliert.
 
Ähnlich wie bei den anderen Vertexattributen wird auch die Nebelkoordinate zwischen zwei nebeneinanderliegenden Eckpunkten interpoliert.
  
<br>
+
 
 +
 
 
== Hinweise ==
 
== Hinweise ==
 
'''glFogCoord''' ist erst ab GL Version 1.4 oder höher nutzbar.
 
'''glFogCoord''' ist erst ab GL Version 1.4 oder höher nutzbar.
Zeile 44: Zeile 48:
 
[[glGet]] mit Token [[glGet#GL_CURRENT_FOG_COORD|GL_CURRENT_FOG_COORD]]
 
[[glGet]] mit Token [[glGet#GL_CURRENT_FOG_COORD|GL_CURRENT_FOG_COORD]]
  
<br>
+
 
 +
 
  
 
== Siehe auch ==
 
== Siehe auch ==

Version vom 22. April 2006, 20:20 Uhr

glFogCoord

Name

glFogCoord - setzt die aktuellen Nebelkoordinaten für ein Vertex.


Delphi-Spezifikation

procedure glFogCoordd(coord: TGLdouble);
procedure glFogCoorddv(const coord: PGLdouble); 
procedure glFogCoordf(coord: TGLfloat);
procedure glFogCoordfv(const coord: PGLfloat); 


Parameter

coord Die Nebelkoordinate, die für ein Vertex gesetzt werden soll (als Wert oder als einelementiges Array).


Beschreibung

Die aktuellen Nebelkoordinaten sind Teil der Daten, die mit den Eckpunkten (Vertices) von Polygonen in Zusammenhang stehen. Mittels glFogCoord werden diese Nebelkoordinaten gesetzt.

coord sollte ein positiver Wert sein, der im normalen Nebelmodus den Abstand im Augenkoordinatensystem beschreibt. Initial ist coord auf 0 gesetzt.

Ist die Nebelkoordinate als Nebelkoordinatenquelle eingestellt (mittels glFog(GL_FOG_COORD_SRC, GL_FOG_COORD)), und der Nebeleffekt mittel glEnable(GL_FOG) aktiviert, so werden die für die Eckpunkte gesetzten Nebelkoordinaten in der Nebelberechnung mit der aktuellen Nebelfunktion (GL_LINEAR, GL_EXP, GL_EXP2) verwendet. Standardmässig wird der Tiefenwert des Fragments für die Nebelberechnung benutzt (kann mit glFog(GL_FOG_COORD_SRC, GL_FRAGMENT_DEPTH) wieder zurückgestellt werden.)

Ähnlich wie bei den anderen Vertexattributen wird auch die Nebelkoordinate zwischen zwei nebeneinanderliegenden Eckpunkten interpoliert.


Hinweise

glFogCoord ist erst ab GL Version 1.4 oder höher nutzbar.

Die aktuellen Nebelkoordinaten können jederzeit geändert werden. Ganz speziell bedeutet dies, dass die Nebelkoordinaten innerhalb eines glBegin-glEnd Blocks mittels glFogCoord geändert werden dürfen.

Mithilfe von Nebelkoordinaten kann die Nebelberechnung grundsätzlich beschleunigt werden, erzeugt jedoch i.A. qualitativ schlechtere Bilder als die Per-Pixel-Nebelberechnung.

Falls ein Fragmentshader aktiviert ist, hat glFogCoord keinen Effekt.

Negative Nebelkoordinaten sollten verhindert werden, da die Berechnungen merkwürdige Farben hervorbringen könnten.

Zugehörige Wertrückgaben

glGet mit Token GL_CURRENT_FOG_COORD



Siehe auch

glVertex, glFog, glFogCoordPointer