gluBeginSurface.3gl








Name


  gluBeginSurface, gluEndSurface - delimit a NURBS surface definition





C Specification


  void gluBeginSurface(	GLUnurbsObj *nobj )



  void gluEndSurface( GLUnurbsObj *nobj	)





Parameters




  nobj	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.  Refer	to the gluBeginTrim reference page

  for details.



  OpenGL 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








Introduction | Alphabetic | Specification

Last Edited: Mon, May 22, 1995

AFV