glFogCoord
Inhaltsverzeichnis
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