glPointParameter
Inhaltsverzeichnis
glPointParameter
Name
glPointParameter - Setzt Parameter für das Rendern von Punktprimitiven.
Delphi-Spezifikation
procedure gPointParameterf(pname: TGLenum; param: TGLfloat) procedure gPointParameterfv(pname: TGLenum; const params: PGLfloat) procedure gPointParameteri(pname: TGLenum; param: TGLint) procedure gPointParameteriv(pname: TGLenum; const params: PGLint)
Parameter
pname | Punktparameter, der gesetzt werden soll. Mögliche symbolische Konstanten sind : GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX, GL_POINT_DISTANCE_ATTENUATION und GL_POINT_FADE_THRESHOLD_SIZE. Ab OpenGL Version 2.0 zusätzlich die Konstante : GL_POINT_SPRITE_COORD_ORIGIN. |
---|---|
param, params | Wert des Parameters, der gesetzt werden soll. |
Beschreibung
glPointParameter wird benutzt, um Parameterwerte für aktuell gerenderte Punkte zu setzen. Falls für pname GL_POINT_DISTANCE_ATTENUATION gesetzt wird, muss params ein Array mit 3 Fließkomma-Werten enthalten (a, b, c), die die konstanten, linearen und quadratischen Koeffizienten für das Herleiten der Grösse (derived_size) und Helligkeit eines Punktes beinhalten, welche auf den Abstand in Augenkoordinaten, d, basieren :
Initial sind (a, b, c) auf (1, 0, 0) gesetzt, d.h. die abgeleitete Grösse derived_size ist gleich der mit glPointSize gesetzten Grösse des Punktes.
Falls pname auf GL_POINT_SIZE_MIN oder GL_POINT_SIZE_MAX gesetzt ist, ist param eine absolute Grenze (entweder Ober- oder Untergrenze, jenachdem), die in der obigen Gleichung benutzt wird, um die abgeleitete Punktgrösse zu beschränken. Die Untergrenze ist defaultmässig 0.0 während die Obergrenze GL_POINT_SIZE_MAX das Maximum der Parameter GL_ALIASED_POINT_SIZE_RANGE und GL_SMOOTH_POINT_SIZE ist.
Falls Multisampling aktiviert ist und pname GL_FADE_THRESHOLD_SIZE ist, dann definiert param eine andere Untergrenze (threshold) für die Grösse eines Punktes. Falls derivedSize < threshold, wird der Faktor fade berechnet, um den Alphawert des Punktes zu modulieren, welcher die Helligkeit verringert:
Der Anfangswert von GL_FADE_THRESHOLD_SIZE ist 1.0.
Hinweise
glPointParameter ist erst ab OpenGL-Version 1.4 oder höher verfügbar.
Änderungen
Folgende Erweiterungen hat die Funktion erfahren:
Ab OpenGL-Version 2.0
Falls pname GL_POINT_SPRITE_COORD_ORIGIN und param GL_LOWER_LEFT ist, ist der Ursprung für iterierte Texturkoordinaten von Point Sprites das untere linke Fragment, mit der von unten nach oben, vertikal quer über die Fragmente wachsenden Texturkoordinate t. Ist param alternativ auf GL_UPPER_LEFT (Defaultwert) gesetzt, verringert sich die Texturkoordinate t vertikal von oben nach unten.
Fehlermeldungen
- GL_INVALID_ENUM
- pname enthält eine ungültige Konstante.
- GL_INVALID_VALUE
- pname ist GL_POINT_SIZE_MIN, GL_POINT_SIZE_MAX oder GL_POINT_FADE_THRESHOLD_SIZE und param enthält einen Wert kleiner 0.
- GL_INVALID_OPERATION
- glPointParameter wurde innerhalb eines glBegin-glEnd Blocks aufgerufen.
Zugehörige Wertrückgaben
glGet mit Token GL_POINT_SIZE_MIN
glGet mit Token GL_POINT_SIZE_MAX
glGet mit Token GL_POINT_FADE_THRESHOLD_SIZE
glGet mit Token GL_POINT_DISTANCE_ATTENUATION
glGet mit Token GL_POINT_SPRITE_COORD_ORIGIN