gluCylinder: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Wird offline bearbeitet)
 
(Version Hochgeladen)
Zeile 1: Zeile 1:
= Wird Offline bearbeitet =  
+
= gluCylinder =
  
 +
<br>
 +
== Name ==
 +
----
 +
'''gluCylinder''' - zeichnet einen Zylinder.
  
= Bitte keine änderungen durchführen =
+
<br>
 +
== Delphi-Spezifikation ==
 +
----
 +
'''procedure''' gluCylinder(''quadObject'': PGLUquadric;
 +
                      ''baseRadius'', ''topRadius'', ''height'': TGLdouble;
 +
                      ''slices'', ''stacks'': TGLint);
 +
 
 +
<br>
 +
== Parameter ==
 +
----
 +
<table border=1 rules=all>
 +
<tr>
 +
<td>''quadObject''</td>
 +
<td>Gibt das Quadrikobjekt an. (erstellt mit [[gluNewQuadric]])</td>
 +
</tr>
 +
<tr>
 +
<td>''baseRadius''</td>
 +
<td>Definiert den Radius des Zylinders bei z = 0.</td>
 +
</tr>
 +
<tr>
 +
<td>''topRadius''</td>
 +
<td>Definiert den Radius des Zylinders bei z = ''height''.</td>
 +
</tr>
 +
<tr>
 +
<td>''height''</td>
 +
<td>Gibt die Höhe des Zylinders an.</td>
 +
</tr>
 +
<tr>
 +
<td>''slices''</td>
 +
<td>Gibt die Anzahl der Unterteilungen um die Z-Achse an. (Vergl. Pizzastücke)</td>
 +
</tr>
 +
<tr>
 +
<td>''stacks''</td>
 +
<td>Gibt die Anzahl der Unterteilungen entlang der Z-Achse an.</td>
 +
</tr>
 +
</table>
 +
 
 +
<br>
 +
== Beschreibung ==
 +
----
 +
'''gluCylinder''' zeichnet einen Zylinder der an der Z-Achse ausgerichtet ist. Der Boden des Zylinders befindet sich dabei bei z = 0 und der Deckel bei z = ''height''. <br>
 +
Wie auch die Kugel ([[gluSphere]]), wird der Zylinder um die Z-Achse in Stücken (''slices'') und entlang der Z-Achse in Stockwerke (''stacks'') unterteilt. Die Stücken bestimmen dabei wie rund der Zylinder tatsächlich erscheint (viele Stücken -> rundere Form).<br>
 +
 
 +
Die Stockwerke, aber auch die Stücken haben eine direkte Auswirkung auf die Wirkung des Zylinders bei angeschaltetem OpenGL-Licht ([[glLight]]). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone)
 +
 
 +
Wenn die Orientierung der [[Normale|Normalen]] mittels [[gluQuadricOrientation]] auf '''GLU_OUTSIDE''' gesetzt wurde, zeigen alle Normalen von der Z-Achse weg. Ansonsten zeigen sie zur Z-Achse.
 +
 
 +
Wenn mittels [[gluQuaricTexture]] Texturierung aktiviert ist, werden automatisch
 +
Texturkoordinaten in folgender Weise erstellt:
 +
* t läuft linear von 0.0 bei z = 0 zu 1.0 bei z = height
 +
* s läuft von 0.0 bei der pos. Y-Achse über 0.25 bei der pos. X-Achse weiter über 0.5 bei der neg. Y-Achse über 0.75 bei der neg. X-Achse und zurück zu 1.0 bei der pos. Y-Achse. (Quasi wenn man von z = ''height'' zu (0,0,0) schaut in Uhrzeigerrichtung.)
 +
 
 +
<br>
 +
== Hinweise ==
 +
----
 +
Wenn ''topRadius'' = 0 ist, wird ein Kegel anstatt eines Zylinders erstellt.
 +
 
 +
<br>
 +
 
 +
== Siehe auch ==
 +
----
 +
[[gluDisk]], [[gluNewQuadric]], [[gluPartialDisk]], [[gluQuadricTexture]], [[gluSphere]]

Version vom 1. August 2004, 21:11 Uhr

gluCylinder


Name


gluCylinder - zeichnet einen Zylinder.


Delphi-Spezifikation


procedure gluCylinder(quadObject: PGLUquadric; 
                      baseRadius, topRadius, height: TGLdouble; 
                      slices, stacks: TGLint);


Parameter


quadObject Gibt das Quadrikobjekt an. (erstellt mit gluNewQuadric)
baseRadius Definiert den Radius des Zylinders bei z = 0.
topRadius Definiert den Radius des Zylinders bei z = height.
height Gibt die Höhe des Zylinders an.
slices Gibt die Anzahl der Unterteilungen um die Z-Achse an. (Vergl. Pizzastücke)
stacks Gibt die Anzahl der Unterteilungen entlang der Z-Achse an.


Beschreibung


gluCylinder zeichnet einen Zylinder der an der Z-Achse ausgerichtet ist. Der Boden des Zylinders befindet sich dabei bei z = 0 und der Deckel bei z = height.
Wie auch die Kugel (gluSphere), wird der Zylinder um die Z-Achse in Stücken (slices) und entlang der Z-Achse in Stockwerke (stacks) unterteilt. Die Stücken bestimmen dabei wie rund der Zylinder tatsächlich erscheint (viele Stücken -> rundere Form).

Die Stockwerke, aber auch die Stücken haben eine direkte Auswirkung auf die Wirkung des Zylinders bei angeschaltetem OpenGL-Licht (glLight). Je mehr es von beiden gibt, desto besser wirkt die Beleuchtung. (Nachteil: viele Polygone)

Wenn die Orientierung der Normalen mittels gluQuadricOrientation auf GLU_OUTSIDE gesetzt wurde, zeigen alle Normalen von der Z-Achse weg. Ansonsten zeigen sie zur Z-Achse.

Wenn mittels gluQuaricTexture Texturierung aktiviert ist, werden automatisch Texturkoordinaten in folgender Weise erstellt:

  • t läuft linear von 0.0 bei z = 0 zu 1.0 bei z = height
  • s läuft von 0.0 bei der pos. Y-Achse über 0.25 bei der pos. X-Achse weiter über 0.5 bei der neg. Y-Achse über 0.75 bei der neg. X-Achse und zurück zu 1.0 bei der pos. Y-Achse. (Quasi wenn man von z = height zu (0,0,0) schaut in Uhrzeigerrichtung.)


Hinweise


Wenn topRadius = 0 ist, wird ein Kegel anstatt eines Zylinders erstellt.


Siehe auch


gluDisk, gluNewQuadric, gluPartialDisk, gluQuadricTexture, gluSphere