gluNurbsProperty: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K () |
(→Beschreibung) |
||
Zeile 54: | Zeile 54: | ||
: ''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 | + | : Der Vorgabewert ist '''GL_FALSE''' (weil eine NURBS-nicht komplett innerhalb der konvexen Hülle (festgelegt durch die Kontrollpunkte) liegen kann). |
'''GLU_PARAMETRIC_TOLERANCE''' | '''GLU_PARAMETRIC_TOLERANCE''' | ||
Zeile 65: | Zeile 65: | ||
: '''GLU_SAMPLING_METHOD''' kann drei Werte annehmen: | : '''GLU_SAMPLING_METHOD''' kann drei Werte annehmen: | ||
: '''GLU_PATH_LENGHT''' | : '''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''' | : '''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''' | : '''GLU_DOMAIN_DISTANCE''' | ||
− | :: | + | :: Gibt an, wie viele Punkte in den u und v-Richtungen angenommen werden. Die Angabe erfolgt in Parameter-Konstanten. |
: Der Vorgabewert ist '''GLU_PATH_LENGTH'''. | : Der Vorgabewert ist '''GLU_PATH_LENGTH'''. | ||
'''GLU_U_STEP''' | '''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''' | '''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''' | '''GLU_AUTO_LOAD_MATRIX''' |
Version vom 22. September 2005, 19:42 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
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-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 Parameter-Konstanten.
- 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