glPointParameter: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Zugehörige Wertrückgaben: Linkname verbessert)
K (Bot: konvertiere/korrigiere <BR>)
Zeile 1: Zeile 1:
 
= glPointParameter =
 
= glPointParameter =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''glPointParameter''' - Setzt Parameter für das Rendern von Punktprimitiven.
 
'''glPointParameter''' - Setzt Parameter für das Rendern von Punktprimitiven.
  
<br>
+
 
 +
 
 
== Delphi-Spezifikation ==
 
== Delphi-Spezifikation ==
 
  procedure '''gPointParameterf'''(''pname'': TGLenum; ''param'': TGLfloat)  
 
  procedure '''gPointParameterf'''(''pname'': TGLenum; ''param'': TGLfloat)  
Zeile 13: Zeile 15:
  
  
<br>
+
 
 +
 
 
== Parameter ==
 
== Parameter ==
  
Zeile 24: Zeile 27:
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
Zeile 42: Zeile 46:
 
Der Anfangswert von '''GL_FADE_THRESHOLD_SIZE''' ist 1.0.
 
Der Anfangswert von '''GL_FADE_THRESHOLD_SIZE''' ist 1.0.
  
<br>
+
 
 +
 
  
 
== Hinweise ==
 
== Hinweise ==
 
''glPointParameter'' ist erst ab OpenGL-Version 1.4 oder höher verfügbar.
 
''glPointParameter'' ist erst ab OpenGL-Version 1.4 oder höher verfügbar.
  
<br>
+
 
 +
 
 
== Änderungen ==
 
== Änderungen ==
 
Folgende Erweiterungen hat die Funktion erfahren:
 
Folgende Erweiterungen hat die Funktion erfahren:
Zeile 53: Zeile 59:
 
Falls ''pname'' '''GL_POINT_SPRITE_COORD_ORIGIN''' und ''param'' '''GL_LOWER_LEFT''' ist, ist der Ursprung für iterierte Texturkoordinaten von [[Pointsprite|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.
 
Falls ''pname'' '''GL_POINT_SPRITE_COORD_ORIGIN''' und ''param'' '''GL_LOWER_LEFT''' ist, ist der Ursprung für iterierte Texturkoordinaten von [[Pointsprite|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.
  
<br>
+
 
 +
 
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
 
;'''GL_INVALID_ENUM''': ''pname'' enthält eine ungültige Konstante.<br>
 
;'''GL_INVALID_ENUM''': ''pname'' enthält eine ungültige Konstante.<br>
Zeile 59: Zeile 66:
 
;'''GL_INVALID_OPERATION''': '''glPointParameter''' wurde innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen.  
 
;'''GL_INVALID_OPERATION''': '''glPointParameter''' wurde innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen.  
  
<br>
+
 
 +
 
 
== Zugehörige Wertrückgaben ==
 
== Zugehörige Wertrückgaben ==
 
[[glGet]] mit Token [[glGet#GL_POINT_SIZE_MIN|GL_POINT_SIZE_MIN]]<br>
 
[[glGet]] mit Token [[glGet#GL_POINT_SIZE_MIN|GL_POINT_SIZE_MIN]]<br>
Zeile 67: Zeile 75:
 
[[glGet]] mit Token [[glGet#GL_POINT_SPRITE_COORD_ORIGIN|GL_POINT_SPRITE_COORD_ORIGIN]]<br>
 
[[glGet]] mit Token [[glGet#GL_POINT_SPRITE_COORD_ORIGIN|GL_POINT_SPRITE_COORD_ORIGIN]]<br>
  
<br>
+
 
 +
 
  
 
== Siehe auch ==
 
== Siehe auch ==

Version vom 22. April 2006, 19:23 Uhr

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