gluBeginSurface,  gluEndSurface  - delimit a NURBS surface
       definition



C SPECIFICATION

       void gluBeginSurface( GLUnurbs* nurb )

       void gluEndSurface( GLUnurbs* nurb )



PARAMETERS

       nurb  Specifies   the   NURBS   object    (created    with
             gluNewNurbsRenderer).


DESCRIPTION

       Use  gluBeginSurface to mark the beginning of a NURBS sur-
       face definition. After calling gluBeginSurface,  make  one
       or  more calls to gluNurbsSurface to define the attributes
       of  the  surface.   Exactly  one   of   these   calls   to
       gluNurbsSurface    must    have    a   surface   type   of
       GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4.  To mark the end  of
       the NURBS surface definition, call gluEndSurface.

       Trimming of NURBS surfaces is supported with gluBeginTrim,
       gluPwlCurve,  gluNurbsCurve,  and  gluEndTrim.   See   the
       gluBeginTrim reference page for details.

       GL  evaluators  are  used to render the NURBS surface as a
       set of polygons.  Evaluator state is preserved during ren-
       dering  with  glPushAttrib(GL_EVAL_BIT) and glPopAttrib().
       See the glPushAttrib reference page for details on exactly
       what state these calls preserve.


EXAMPLE

       The  following  commands  render  a textured NURBS surface
       with normals; the texture coordinates and normals are also
       described as NURBS surfaces:

       gluBeginSurface(nobj);
          gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
          gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
          gluNurbsSurface(nobj,  ...,  GL_MAP2_VERTEX_4); gluEnd-
       Surface(nobj);



SEE ALSO

       gluBeginCurve,     gluBeginTrim,      gluNewNurbsRenderer,
       gluNurbsCurve, gluNurbsSurface, gluPwlCurve