glPointParameter

Aus DGL Wiki
Version vom 14. April 2006, 13:52 Uhr von Dj3hut1 (Diskussion | Beiträge) (Zugehörige Wertrückgaben: Linkname verbessert)

Wechseln zu: Navigation, Suche

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 :

Point derivedsize formel.png

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:

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