gluNurbsCurve-Funktion
Die Funktion gluNurbsCurve definiert die Form einer nicht uniformen rationalen B-Spline-Kurve (NURBS).
Syntax
void WINAPI gluNurbsCurve(
GLUnurbs *nobj,
GLint nknots,
GLfloat *knot,
GLint stride,
GLfloat *ctlarray,
GLint order,
GLenum type
);
Parameter
-
nobj
-
Das NURBS-Objekt (erstellt mit gluNewNurbsRenderer).
-
nknots
-
Die Anzahl der Knoten im Knoten. Der nknots-Parameter entspricht der Anzahl der Kontrollpunkte plus der Reihenfolge.
-
Knoten
-
Ein Array von nknots-Knotenwerten , die nicht dekrementiert werden.
-
Schritt
-
Der Offset (als Anzahl von Gleitkommawerten mit einfacher Genauigkeit) zwischen aufeinander folgenden Kurvensteuerungspunkten.
-
ctlarray
-
Ein Zeiger auf ein Array von Kontrollpunkten. Die Koordinaten müssen mit dem Typ übereinstimmen.
-
order
-
Die Reihenfolge der NURBS-Kurve. Der Order-Parameter ist gleich grad + 1; Daher hat eine kubische Kurve eine Reihenfolge von 4.
-
type
-
Der Typ der Kurve. Wenn diese Kurve innerhalb eines gluBeginCurve/gluEndCurve-Paars definiert ist, kann der Typ einer der gültigen eindimensionalen Evaluatortypen sein (z. B. GL_MAP1_VERTEX_3 oder GL_MAP1_COLOR_4). Zwischen einem gluBeginTrim/gluEndTrim-Paar sind die einzigen gültigen Typen GLU_MAP1_TRIM_2 und GLU_MAP1_TRIM_3.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Wenn gluNurbsCurve zwischen einem gluBeginCurve/gluEndCurve-Paar angezeigt wird, beschreibt dies eine zu renderde Kurve. Sie ordnen Positions-, Textur- und Farbkoordinaten zu, indem Sie jede als separate gluNurbsCurve zwischen einem gluBeginCurve/gluEndCurve-Paar darstellen. Führen Sie nicht mehr als einen Aufruf von gluNurbsCurve für Farb-, Positions- und Texturdaten innerhalb eines einzelnen gluBeginCurve/gluEndCurve-Paars durch. Führen Sie genau einen Aufruf aus, um die Position der Kurve (eine Art von GL_MAP1_VERTEX_3 oder GL_MAP1_VERTEX_4) zu beschreiben.
Wenn gluNurbsCurve zwischen einem gluBeginTrim/gluEndTrim-Paar angezeigt wird, beschreibt es eine Trimmkurve auf einer NURBS-Oberfläche. Wenn type GLU_MAP1_TRIM_2 ist, beschreibt er eine Kurve im zweidimensionalen Parameterraum (u und v). Wenn es GLU_MAP1_TRIM_3 ist, beschreibt es eine Kurve im zweidimensionalen homogenen Parameterraum (u, v und w). Weitere Informationen zum Kürzen von Kurven finden Sie unter gluBeginTrim.
Beispiele
Die folgenden Funktionen rendern eine texturierte NURBS-Kurve mit Normaldaten:
gluBeginCurve(nobj);
gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|