Freigeben über


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
Glu.h
Bibliothek
Glu32.lib
DLL
Glu32.dll

Siehe auch

gluBeginSurface

gluBeginTrim

gluEndSurface

gluEndTrim

gluNewNurbsRenderer

gluNurbsCurve

gluPwlCurve