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