NAME
	  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 surface
	  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 rendering
	  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);
	  gluEndSurface(nobj);


     SEE ALSO
	  gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer,
	  gluNurbsCurve, gluNurbsSurface, gluPwlCurve