The gluBeginCurve and gluEndCurve functions delimit a NURBS curve definition.
void gluBeginCurve(
GLUnurbsObj * nobj
);
void gluEndCurve(
GLUnurbsObj * nobj
);
Use gluBeginCurve to mark the beginning of a NURBS curve definition. After calling gluBeginCurve, make one or more calls to gluNurbsCurve to define the attributes of the curve. Exactly one of the calls to gluNurbsCurve must have a curve type of GL_MAP1_VERTEX_3 or GL_MAP1_VERTEX_4. To mark the end of the NURBS curve definition, call gluEndCurve.
OpenGL evaluators are used to render the NURBS curve as a series of line segments. Evaluator state is preserved during rendering with glPushAttrib(GL_EVAL_BIT) and glPopAttrib. For information on exactly what state these calls preserve, see glPushAttrib.
The following functions render a textured NURBS curve with normals; texture coordinates and normals are also specified as NURBS curves:
gluBeginCurve(nobj);
gluNurbsCurve(nobj, . . ., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, . . ., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, . . ., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
Windows NT: Use version 3.5 and later.
Windows: Use Windows 95 and later.
Windows CE: Unsupported.
Header: Declared in glu.h.
Import Library: Link with glu32.lib.
glPopAttrib, glPushAttrib, gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve