GLUBEGINSURFACE
Section: Misc. Reference Manual Pages (3G)
Page Index
NAME
gluBeginSurface, gluEndSurface
- delimit a NURBS surface definition
C SPECIFICATION
void
gluBeginSurface(
GLUnurbs*
nurb )
void gluEndSurface(
GLUnurbs* nurb )
delim $$
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(3G),
gluBeginTrim(3G),
gluNewNurbsRenderer(3G),
gluNurbsCurve(3G),
gluNurbsSurface(3G),
gluPwlCurve(3G)