gluNurbsCurve

Aus DGL Wiki
Wechseln zu: Navigation, Suche
Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

Der Artikel muss noch korrekturgelesen und teilweise (siehe Beschreibung) übersetzt werden.

Incomplete.jpg

gluNurbsCurve

Name

gluNurbsCurve - Legt die Form einer NURBS-Kurve fest.


Delphi-Spezifikation

procedure gluNurbsCurve(nurb: PGLUnurb; knotCount: TGLint; knots: PGLfloat;
                        stride: TGLint; control: PGLfloat; order: TGLint; type: TGLenum);


Parameter

nurb Gibt das NURBS-Objekt an (welches mit gluNewNurbsRenderer erstellt wurde)
knotCount Anzahl der Knoten in knots
knots Zeiger auf ein Array von knotCount nichtfallenden Knotenwerten
stride Offset (als Anzahl von einfach genauen Fließkommawerten) zwischen aufeinanderfolgenden Kurvenkontrollpunkten
control Zeiger auf ein Array von Kontrollwerten. Die Koordinaten müssen mit dem unten angegebenen Wert von type übereinstimmen.
order Gibt die Ordnung der NURBS-Kurve an. order entspricht Grad+1, also hat eine kubische Kurve die Ordnung 4
type Typ der Kruve. Falls diese Kurve innerhalb eines gluBeginCurve-gluEndCurve-Blocks definiert wird, dann kann der Typ jeder der gültigen eindimensionalen Bewertungstypen sein (wie z.B. GLU_MAP1_VERTEX_3 oder GLU_MAP1_COLOR_4). Innerhalb eines gluBeginTrim-gluEndTrim-Blocks sind GLU_MAP1_TRIM_2 und GLU_MAP1_TRIM_3 die einzigen zulässigen Typen.


Beschreibung

gluNurbsCurve wird benutzt, um eine NURBS-Kurve zu beschreiben.
Wenn gluNurbsCurve in einem gluBeginCurve-gluEndCurve-Block auftritt, so wird die Funktion zur Beschreibung der zu rendernden Kurve benutzt.

When gluNurbsCurve appears between a gluBeginCurve/gluEndCurve pair, it is used to describe a curve to be rendered. Positional, texture, and color coordinates are associated by presenting each as a separate gluNurbsCurve between a gluBeginCurve/gluEndCurve pair. No more than one call to gluNurbsCurve for each of color, position, and texture data can be made within a single gluBeginCurve/gluEndCurve pair. Exactly one call must be made to describe the position of the curve (a type of GLU_MAP1_VERTEX_3 or GLU_MAP1_VERTEX_4).

Wenn gluNurbsCurve innerhalb eines gluBeginTrim-gluEndTrim-Blocks auftritt, so dient die Funktion der Beschreibung einer Schnittkurve auf einer NURBS-Oberfläche. Falls type den Wert GLU_MAP1_TRIM_2 hat, dann beschreibt die Funktion eine Kurve im zweidimensionalen (u und v) Parameterraum. Falls type auf GLU_MAP1_TRIM_3 gesetzt ist, dann beschreibt die Funktion eine Kurve im zweidimensionalen, homogenen (u, v, und w) Parameterraum. Siehe auch gluBeginTrim für weitere Informationen über Schnittkurven.


Hinweise

Um gute Schnittkurven zu definieren, kann man gluPwlCurve benutzen.

Beispiel

Die folgenden Befehle rendern eine texturierte NURBS-Kurve mit Normalen:

gluBeginCurve(nobj);
   gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
   gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
   gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);


Siehe auch

gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve