gluBeginSurface() gluBeginSurface()
gluBeginSurface, gluEndSurface - delimit a NURBS surface
definition
void gluBeginSurface(
GLUnurbs* nurb ); void gluEndSurface(
GLUnurbs* nurb );
Specifies the NURBS object (created with gluNewNurbsRenderer).
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.
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);
gluBeginCurve(3), gluBeginTrim(3), gluNewNurbsRenderer(3),
gluNurbsCurve(3), gluNurbsSurface(3), gluPwlCurve(3)
gluBeginSurface()
[ Back ] |