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