gluNurbsProperty: Unterschied zwischen den Versionen
(→Beschreibung) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | |||
= gluNurbsProperty = | = gluNurbsProperty = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
'''gluNurbsProperty''' - setzt eine Eigenschaft eines NURBS-Objekts. | '''gluNurbsProperty''' - setzt eine Eigenschaft eines NURBS-Objekts. | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
'''procedure''' gluNurbsProperty(''nobj'': PGLUnurbs; ''aproperty'': TGLEnum; ''value'': TGLfloat); | '''procedure''' gluNurbsProperty(''nobj'': PGLUnurbs; ''aproperty'': TGLEnum; ''value'': TGLfloat); | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
<table border=1 rules=all> | <table border=1 rules=all> | ||
Zeile 30: | Zeile 32: | ||
</table> | </table> | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
Zeile 54: | Zeile 57: | ||
: ''value'' ist ein Boolean wert der, wenn auf '''GL_TRUE''' gesetzt, angibt, dass [[NURBS]] Kurven bereits vor der [[Tesselierung]] verworfen werden können, wenn die Kontrollpunkte außerhalb des momentanen [[Viewport]]s liegen. | : ''value'' ist ein Boolean wert der, wenn auf '''GL_TRUE''' gesetzt, angibt, dass [[NURBS]] Kurven bereits vor der [[Tesselierung]] verworfen werden können, wenn die Kontrollpunkte außerhalb des momentanen [[Viewport]]s liegen. | ||
− | : Der Vorgabewert ist '''GL_FALSE''' (weil eine NURBS-nicht komplett innerhalb der konvexen Hülle (festgelegt durch die Kontrollpunkte) liegen kann). | + | : Der Vorgabewert ist '''GL_FALSE''' (weil eine NURBS-Kurve nicht komplett innerhalb der konvexen Hülle (festgelegt durch die Kontrollpunkte) liegen kann). |
'''GLU_PARAMETRIC_TOLERANCE''' | '''GLU_PARAMETRIC_TOLERANCE''' | ||
Zeile 69: | Zeile 72: | ||
:: Legt fest, dass die Fläche mit dem Wert von '''GLU_PARAMETRIC_TOLERANCE''' gerendert wird. Diese Konstante gibt die maximale Distanz, in Pixel gerechnet, zwischen den tessellierten Polygonen und den entsprechenden Flächen an. | :: Legt fest, dass die Fläche mit dem Wert von '''GLU_PARAMETRIC_TOLERANCE''' gerendert wird. Diese Konstante gibt die maximale Distanz, in Pixel gerechnet, zwischen den tessellierten Polygonen und den entsprechenden Flächen an. | ||
: '''GLU_DOMAIN_DISTANCE''' | : '''GLU_DOMAIN_DISTANCE''' | ||
− | :: Gibt an, wie viele Punkte in den u und v-Richtungen angenommen werden. Die Angabe erfolgt in | + | :: Gibt an, wie viele Punkte in den u und v-Richtungen angenommen werden. Die Angabe erfolgt in Parametrischen-Koordinaten. |
: Der Vorgabewert ist '''GLU_PATH_LENGTH'''. | : Der Vorgabewert ist '''GLU_PATH_LENGTH'''. | ||
Zeile 89: | Zeile 92: | ||
: Vorgabewert ist '''GL_TRUE'''. | : Vorgabewert ist '''GL_TRUE'''. | ||
− | + | ||
+ | |||
== Hinweise == | == Hinweise == | ||
Zeile 102: | Zeile 106: | ||
'''GLU_PATH_LENGTH''', '''GLU_PARAMETRIC_ERROR''', '''GLU_DOMAIN_DISTANCE''' | '''GLU_PATH_LENGTH''', '''GLU_PARAMETRIC_ERROR''', '''GLU_DOMAIN_DISTANCE''' | ||
− | + | ||
+ | |||
== Siehe auch == | == Siehe auch == | ||
[[gluGetNurbsProperty]], [[gluGetString]], [[gluLoadSamplingMatrices]], | [[gluGetNurbsProperty]], [[gluGetString]], [[gluLoadSamplingMatrices]], |
Aktuelle Version vom 22. April 2006, 19:26 Uhr
Inhaltsverzeichnis
gluNurbsProperty
Name
gluNurbsProperty - setzt eine Eigenschaft eines NURBS-Objekts.
Delphi-Spezifikation
procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: TGLEnum; value: TGLfloat);
Parameter
nobj | Das NURBS-Objekt dessen Eigenschaften verändert werden sollen. (Erstellt mit gluNewNurbsRenderer) |
aproperty | Gibt die Eigenschaft an, die geändert werden soll. Akzeptiert werden: GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_CULLING, GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, und GLU_V_STEP |
value | Gibt den Wert an, auf den die Eigenschaft gesetzt werden soll. value kann ein numerischer Wert oder einer der folgenden sein. |
Beschreibung
gluNurbsProperty wird benutzt um die Eigenschaften des NURBS-Objekts zu steuern.
Diese Eigenschaften beeinflussen die Art und Weise wie die NURBS-Kurve gerendert wird.
Gültige Werte für property sind folgende:
GLU_SAMPLING_TOLERANCE
- Gibt die maximale Länge in Pixeln an, die benutzt werden soll, wenn die Samplingmethode auf GLU_PATH_LENGHT gesetzt wurde.
- Der Vorgabewert ist 50.0 Pixel.
GLU_DISPLAY_MODE
- Der Parameter value definiert wie eine NURBS-Oberfläche gerendert werden soll.
- value akzeptiert GLU_FILL, GLU_OUTLINE_POLYGON, oder GLU_OUTLINE_PATCH.
- Bei GLU_FILL wird die Oberfläche als eine Menge von Polygonen gezeichnet.
- GLU_OUTLINE_POLYGONE weißt die NURBS-Bibiothek an, nur die Umrandungen der Polygone (die bei der Tesselierung entstehen) zu zeichnen.
- GLU_OUTLINE_PATCH sorgt dafür, dass nur die Umrandung der Abschnitte und Trimkurven (trim curves), die der Nutzer definiert hat, gezeichnet werden.
- Vorgabewert ist GLU_FILL.
GLU_CULLING
- value ist ein Boolean wert der, wenn auf GL_TRUE gesetzt, angibt, dass NURBS Kurven bereits vor der Tesselierung verworfen werden können, wenn die Kontrollpunkte außerhalb des momentanen Viewports liegen.
- Der Vorgabewert ist GL_FALSE (weil eine NURBS-Kurve nicht komplett innerhalb der konvexen Hülle (festgelegt durch die Kontrollpunkte) liegen kann).
GLU_PARAMETRIC_TOLERANCE
- Gibt den maximalen Abstand, in Pixeln, an, der benutzt werden soll wenn die Samplingmethode GLU_PARAMETRIC_ERROR ist.
- Vorgabewert ist 0.5.
GLU_SAMPLING_METHOD
- Gibt an wie ein NURBS-Objekt tesseliert werden soll.
- GLU_SAMPLING_METHOD kann drei Werte annehmen:
- GLU_PATH_LENGHT
- Legt fest, dass die Flächen, die mit der maximalen Länge - angegeben in Pixeln, gemessen ab den Ecken der tessellierten Polygonen - gerendert wurden, nicht größer als der Wert sind, der durch GLU_PARAMETRIC_TOLERANCE angegeben ist.
- GLU_PARAMETRIC_ERROR
- Legt fest, dass die Fläche mit dem Wert von GLU_PARAMETRIC_TOLERANCE gerendert wird. Diese Konstante gibt die maximale Distanz, in Pixel gerechnet, zwischen den tessellierten Polygonen und den entsprechenden Flächen an.
- GLU_DOMAIN_DISTANCE
- Gibt an, wie viele Punkte in den u und v-Richtungen angenommen werden. Die Angabe erfolgt in Parametrischen-Koordinaten.
- Der Vorgabewert ist GLU_PATH_LENGTH.
GLU_U_STEP
- Gibt die Anzahl der Punkte an, die in u-Richtung angenommen werden. Der Wert von GLU_U_STEP wird verwendet, wennn GLU_SAMPLING_METHOD auf GLU_DOMAIN_DISTANCE gesetzt wird. Der Standard-Wert ist 100.
GLU_V_STEP
- Gibt die Anzahl der Punkte an, die in v-Richtung angenommen werden. Der Wert von GLU_V_STEP wird verwendet, wennn GLU_SAMPLING_METHOD auf GLU_DOMAIN_DISTANCE gesetzt wird. Der Standard-Wert ist 100.
GLU_AUTO_LOAD_MATRIX
- value ist ein Booleanwert mit folgender Bedeutung.
- Wenn er GL_TRUE ist, lädt der NURBS-Code die Projektions- und Modelviewmatrix sowie den Viewport vom OpenGL Server um die Sampling- und Cullingmatrizen zu berechnen, die jede NURBS-Kurve benutzen soll, die gezeichnet wird.
- Sampling- und Cullingmatrizen werden benötigt um die Tesselierung einer NURBS-Oberfläche in Linien oder Polygone, bzw. das Culling der NURBS-Oberfläche, wenn diese sich außerhalb des Viewport/ Sichtbereichs befindet, durchzuführen.
- Wenn value GL_FALSE gesetzt wird, muss der User selbst die genannten Matrizen dem NURBS-Renderer zur verfügung stellen, damit dieser die Sampling- bzw. Cullingmatrizen konstruieren kann.
- Dieses kann mit der gluLoadSamplingMatrices Funktion gemacht werden.
- Eine Änderung von GL_TRUE auf GL_FALSE wirkt sich solange nicht auf die Sampling- bzw. Cullingmatrix aus, bis gluLoadSamplingMatrices aufgerufen wurde.
- Vorgabewert ist GL_TRUE.
Hinweise
Die folgenden Parameter für aproperty werden erst ab GLU Version 1.1 oder später unterstützt:
GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, und GLU_V_STEP
Die folgenden Parameter für value werden erst ab GLU Version 1.1 oder später unterstützt:
GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE
Siehe auch
gluGetNurbsProperty, gluGetString, gluLoadSamplingMatrices, gluNewNurbsRenderer
Hintergrundwissen: NURBS