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 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 pre-served preserved
served during rendering with glPushAttrib(GL_EVAL_BIT) and glPopAttrib(). See the glPushAttrib ref-erence reference
erence 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 nor-mals normals
mals 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)
GLUBEGINSURFACE(3G)
|