GLUBEGINSURFACE() MachTen Programmer’s Manual GLUBEGINSURFACE()

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 gluNewNurb-
sRenderer).

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 gluNurb-
sSurface 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 gluBe-
ginTrim 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, gluNurb-
sCurve, gluNurbsSurface, gluPwlCurve

MachTen 1