gluNurbsCurve - define the shape of a NURBS curve

void gluNurbsCurve( GLUnurbsObj *nobj, GLintnknots, GLfloat *knot, GLintstride, GLfloat *ctlarray, GLintorder, GLenumtype)

nobjSpecifies the NURBS object (created with gluNewNurbsRenderer).nknotsSpecifies the number of knots inknot.nknotsequals the number of control points plus the order.knotSpecifies an array ofnknotsnondecreasing knot values.strideSpecifies the offset (as a number of single-precision floating- point values) between successive curve control points.ctlarraySpecifies a pointer to an array of control points. The coordinates must agree withtype, specified below.orderSpecifies the order of the NURBS curve.orderequals degree + 1, hence a cubic curve has an order of 4.typeSpecifies 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_VERTEX_3 or GL_MAP1_COLOR_4). Between a gluBeginTrim/gluEndTrim pair, the only valid types are GLU_MAP1_TRIM_2 and GLU_MAP1_TRIM_3.

Use gluNurbsCurve to describe a NURBS curve. 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 (atypeof 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. Iftypeis GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (uandv) parameter space. If it is GLU_MAP1_TRIM_3, then it describes a curve in two-dimensional homogeneous (u,v, andw) parameter space. See the gluBeginTrim reference page for more discussion about trimming curves.

The following commands render a textured NURBS curve with normals: gluBeginCurve(nobj); gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2); gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL); gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);

To define trim curves which stitch well use gluPwlCurve.

gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve

Introduction | Alphabetic | Specification

Last Edited: *
Fri Dec 6 11:18:03 EST 1996
*
by
*AFV*

Look here for legal stuff: Legal