glPointParameter

Aus DGL Wiki
Wechseln zu: Navigation, Suche

glPointParameter

Name

glPointParameter - Setzt Parameter für das Rendern von Punktprimitiven.


Delphi-Spezifikation

procedure glPointParameterf(pname: TGLenum; param: TGLfloat) 
procedure glPointParameterfv(pname: TGLenum; const params: PGLfloat) 
procedure glPointParameteri(pname: TGLenum; param: TGLint) 
procedure glPointParameteriv(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 :

Point derivedsize formel.png

Die Anfangswerte für (a, b, c) sind (1, 0, 0), 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:

Point fade formel.png

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



Siehe auch

glBegin, glPointSize