gluNurbsSurface-Funktion
Die gluNurbsSurface-Funktion definiert die Form einer Nicht-Uniform Rational B-Spline (NURBS)-Oberfläche.
Syntax
void WINAPI gluNurbsSurface(
GLUnurbs *nobj,
GLint sknot_count,
float *sknot,
GLint tknot_count,
GLfloat *tknot,
GLint s_stride,
GLint t_stride,
GLfloat *ctlarray,
GLint sorder,
GLint torder,
GLenum type
);
Parameter
-
nobj
-
Das NURBS-Objekt (erstellt mit gluNewNurbsRenderer).
-
sknot_count
-
Die Anzahl der Knoten in parametrischer u-Richtung .
-
sknot
-
Ein Array von sknot_count nicht verknüpfenden Knotenwerten in parametrischer u-Richtung .
-
tknot_count
-
Die Anzahl der Knoten in parametrischer v-Richtung .
-
tknot
-
Ein Array von tknot_count nicht dekrementierende Knotenwerte in parametrischer v-Richtung .
-
s_stride
-
Der Offset (als Anzahl einzelner Genauigkeitsfloatingpunktwerte) zwischen aufeinander folgenden Kontrollpunkten in parametrischer u-Richtung in Ctlarray.
-
t_stride
-
Der Offset (in einzelnen Genauigkeitsfloatingpunktwerten) zwischen aufeinander folgenden Kontrollpunkten in parametrischer v-Richtung in ctlarray.
-
ctlarray
-
Ein Array, das Steuerungspunkte für die NURBS-Oberfläche enthält. Die Offsets zwischen aufeinander folgenden Kontrollpunkten in den parametrischen u - und v-Richtungen werden durch s_stride und t_stride angegeben.
-
Sorder
-
Die Reihenfolge der NURBS-Oberfläche in parametrischer u-Richtung . Die Reihenfolge ist um eins mehr als der Grad, daher hat eine Fläche, die kubisch in u ist, eine u-Ordnung von 4.
-
torder
-
Die Reihenfolge der NURBS-Oberfläche in parametrischer v-Richtung . Die Reihenfolge ist um eins mehr als der Grad, daher hat eine Fläche, die in v kubisch ist, eine v-Ordnung von 4.
-
type
-
Der Typ der Oberfläche. Der Type-Parameter kann jeder der gültigen zweidimensionalen Evaluatortypen sein (z. B. GL_MAP2_VERTEX_3 oder GL_MAP2_COLOR_4).
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Verwenden Sie gluNurbsSurface innerhalb einer NURBS-Oberflächendefinition, um die Form einer NURBS-Oberfläche zu beschreiben (vor dem Kürzen). Um den Anfang einer NURBS-Oberflächendefinition zu markieren, verwenden Sie die Funktion gluBeginSurface . Um das Ende einer NURBS-Oberflächendefinition zu markieren, verwenden Sie die Funktion gluEndSurface . Rufen Sie gluNurbsSurface nur innerhalb einer NURBS-Oberflächendefinition auf.
Sie ordnen einer Oberfläche Positions-, Textur- und Farbkoordinaten zu, indem Sie jede als separates gluNurbsSurface zwischen einem gluBeginSurface/gluEndSurface-Paar darstellen. Innerhalb eines einzelnen gluBeginSurface/gluEndSurface-Paars können Sie nur einen Aufruf von gluNurbsSurface für Farb-, Positions- und Texturdaten ausführen. Führen Sie genau einen Aufruf aus, um die Position der Oberfläche (eine Art von GL_MAP2_VERTEX_3 oder GL_MAP2_VERTEX_4) zu beschreiben.
Sie können eine NURBS-Oberfläche mit den Funktionen gluNurbsCurve und gluPwlCurve zwischen Aufrufen von gluBeginTrim und gluEndTrim kürzen.
Eine gluNurbsSurface mit sknot_count Knoten in u-Richtung und tknot_count Knoten in v-Richtung mit order sorder und torder muss (sknot_count -sorder) multipied by (tknot_count -torder) Kontrollpunkte haben.
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 |
|