gluNurbsProperty
(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
- The value parameter is a Boolean value that, when set to GL_TRUE, indicates that a NURBS curve should be discarded prior to tessellation if its control points lie outside the current viewport. The default is GL_FALSE (because a NURBS curve cannot fall entirely within the convex hull of its control points).
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
- Specifies that surfaces rendered with the maximum length, in pixels, of the edges of the tessallation polygons are no greater than the value specified by GLU_SAMPLING_TOLERANCE.
- GLU_PARAMETRIC_ERROR
- Specifies that the surface is rendered with the value of GLU_PARAMETRIC_TOLERANCE specifying the maximum distance, in pixels, between the tessellation polygons and the surfaces they approximate.
- GLU_DOMAIN_DISTANCE
- Specifies, in parametric coordinates, how many sample points per unit length to take in the u and v dimensions.
- Der Vorgabewert ist GLU_PATH_LENGTH.
GLU_U_STEP
- Specifies the number of sample points per unit length taken along the u dimension in parametric coordinates. The value of GLU_U_STEP is used when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The default value is 100.
GLU_V_STEP
- Specifies the number of sample points per unit length taken along the v dimension in parametric coordinates. The value of GLU_V_STEP is used when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The default value is 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