gluBeginSurface
GLUBEGINSURFACE(3G) GLUBEGINSURFACE(3G)
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 defini-
tion. 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 ref-
erence page for details.
GL evaluators are used to render the NURBS surface as a set of poly-
gons. 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 sur-
faces:
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(3G), gluBeginTrim(3G), gluNewNurbsRenderer(3G),
gluNurbsCurve(3G), gluNurbsSurface(3G), gluPwlCurve(3G)
GLUBEGINSURFACE(3G)