gluNurbsSurface-Funktion

Die gluNurbsSurface-Funktion definiert die Form einer nicht einheitlichen rationalen B-Spline-Oberfläche (NURBS).

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 von Löchern in parametrischer u-Richtung.

sknot

Ein Array von sknot _ count nondecreasing-Werte in der parametrischen u-Richtung.

tknot _ count

Die Anzahl von Löchern in parametrischer v-Richtung.

tknot

Ein Array von tknot _ count nondecreasing-Werte in der parametrischen v-Richtung.

s _ stride

Der Offset (als Eine-Genauigkeit-Gleitkommawerte) zwischen aufeinander folgenden Kontrollpunkten in der parametrischen u-Richtung in ctlarray.

t _ stride

Der Offset (in Gleitkommawerten mit einfacher Genauigkeit) 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 eins mehr als der Grad, sodass eine kubische Oberfläche in u eine u-Reihenfolge von 4 aufweist.

torder

Die Reihenfolge der NURBS-Oberfläche in parametrischer v-Richtung. Die Reihenfolge ist eins mehr als der Grad, sodass eine kubische Oberfläche in v eine v-Reihenfolge von 4 aufweist.

type

Der Typ der Oberfläche. Der Typparameter kann einer der gültigen zweidimensionalen Auswertungstypen 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 (vor dem Kürzen) zu beschreiben. Um den Anfang einer NURBS-Oberflächendefinition zu markieren, verwenden Sie die gluBeginSurface-Funktion. Um das Ende einer NURBS-Oberflächendefinition zu markieren, verwenden Sie die gluEndSurface-Funktion. Rufen Sie gluNurbsSurface nur innerhalb einer NURBS-Oberflächendefinition auf.

Sie ordnen Positions-, Textur- und Farbkoordinaten einer Oberfläche zu, indem Sie sie als separate gluNurbsSurface zwischen einem gluBeginSurface / gluEndSurface-Paar darstellen. Innerhalb eines einzelnen gluBeginSurface / gluEndSurface-Paars können Sie gluNurbsSurface nur einen Aufruf für Farb-, Positions- und Texturdaten ausführen. Nehmen Sie genau einen Aufruf vor, um die Position der Oberfläche zu beschreiben (ein Typ von GL _ MAP2 _ VERTEX _ 3 oder GL _ MAP2 _ VERTEX _ 4).

Sie können eine NURBS-Oberfläche mithilfe der Funktionen gluNurbsCurve und gluPwlCurve zwischen Aufrufen von gluBeginTrim und gluEndTrim kürzen.

Ein gluNurbsSurface mit sknot count-Zählern _ in u-Richtung und tknot count-Zählern _ in v-Richtung mit Bestellungen sorder und torder muss (sknot _ count - sorder) multipied by (tknot _ count - torder) Steuerungspunkte aufweisen.

Requirements (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

Weitere Informationen

gluBeginSurface

gluBeginTrim

gluEndSurface

gluEndTrim

gluNewNurbsRenderer

gluNurbsCurve

gluPwlCurve