gluNurbsCurve: define the shape of a NURBS curve.
C Specification |
Use gluNurbsCurve to describe a NURBS curve.
- Specifies the NURBS object (created with gluNewNurbsRenderer).
- Specifies the number of knots in knots.
knotCount equals the number of control points plus the
- Specifies an array of knotCount nondecreasing knot values.
- Specifies the offset (as a number of single-precision floating-point
values) between successive curve control points.
- Specifies a pointer to an array of control points. The coordinates must
agree with type, specified below.
- Specifies the order of the NURBS curve. order equals
degree + 1, hence a cubic curve has an order of 4.
- Specifies the type of the curve. If this curve is defined within a
gluBeginCurve/gluEndCurve pair, then the type can
be any of the valid one-dimensional evaluator types (such as
GL_MAP1_COLOR_4). Between a gluBeginCurve/gluEndCurve pair, the only valid
types are GLU_MAP1_TRIM_2 and
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
GL_MAP1_VERTEX_3 or GL_MAP1_VERTEX_4).
When gluNurbsCurve appears between a gluBeginTrim/gluEndTrim pair, it is used to describe
a trimming curve on a NURBS surface. If type is
GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional
(u and v) parameter space. If it is
GLU_MAP1_TRIM_3, then it describes a curve in two-dimensional
homogeneous (u, v, and w) parameter space.
See the gluBeginTrim reference page
for more discussion about trimming curves.
To define trim curves that stitch well, use gluPwlCurve.