glPointParameter: Unterschied zwischen den Versionen
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
K (→Delphi-Spezifikation: Vertipper korrigiert: gPointParameter -> glPointParameter) |
||
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | procedure ''' | + | procedure '''glPointParameterf'''(''pname'': TGLenum; ''param'': TGLfloat) |
− | procedure ''' | + | procedure '''glPointParameterfv'''(''pname'': TGLenum; '''const''' ''params'': PGLfloat) |
− | procedure ''' | + | procedure '''glPointParameteri'''(''pname'': TGLenum; ''param'': TGLint) |
− | procedure ''' | + | procedure '''glPointParameteriv'''(''pname'': TGLenum; '''const''' ''params'': PGLint) |
− | |||
− | |||
− | |||
== Parameter == | == Parameter == | ||
Zeile 35: | Zeile 32: | ||
<div align="center">[[Bild:Point_derivedsize_formel.png]]</div> | <div align="center">[[Bild:Point_derivedsize_formel.png]]</div> | ||
− | + | 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. | 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. | ||
Zeile 45: | Zeile 42: | ||
Der Anfangswert von '''GL_FADE_THRESHOLD_SIZE''' ist 1.0. | Der Anfangswert von '''GL_FADE_THRESHOLD_SIZE''' ist 1.0. | ||
− | |||
− | |||
− | |||
== Hinweise == | == Hinweise == | ||
Zeile 57: | Zeile 51: | ||
Folgende Erweiterungen hat die Funktion erfahren: | Folgende Erweiterungen hat die Funktion erfahren: | ||
=== Ab OpenGL-Version 2.0 === | === 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 [[ | + | Falls ''pname'' '''GL_POINT_SPRITE_COORD_ORIGIN''' und ''param'' '''GL_LOWER_LEFT''' ist, ist der Ursprung für iterierte Texturkoordinaten von [[Point Sprite]]s 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 == | == Fehlermeldungen == |
Aktuelle Version vom 31. Dezember 2013, 19:42 Uhr
Inhaltsverzeichnis
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 :
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:
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