OpenGL man pages
gluBeginCurve, gluEndCurve - delimit a NURBS curve definition
void gluBeginCurve( GLUnurbsObj *nobj )
void gluEndCurve( GLUnurbsObj *nobj )
nobj Specifies the NURBS object (created with gluNewNurbsRenderer).
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(). See the glPushAttrib reference
page for details on exactly what state these calls preserve.
The following commands render a textured NURBS curve with normals; texture
coordinates and normals are also specified as NURBS curves:
gluNurbsCurve(nobj, …, GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, …, GL_MAP1_NORMAL);
gluNurbsCurve(nobj, …, GL_MAP1_VERTEX_4); gluEndCurve(nobj);
gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve,
Fri Dec 6 11:18:03 EST 1996
Look here for legal stuff: Legal