GLUBEGINSURFACE(3G) OpenGL Manual GLUBEGINSURFACE(3G)
gluBeginSurface - 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
GLU_MAP2_VERTEX_3 or GLU_MAP2_VERTEX_4. To mark the end of the NURBS surface definition,
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()(GLU_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:
gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4);
gluBeginCurve(), gluBeginTrim(), gluNewNurbsRenderer(), gluNurbsCurve(),
gluNurbsSurface(), gluPwlCurve(), glPushAttrib()
Copyright (C) 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI
Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.
opengl.org 06/10/2014 GLUBEGINSURFACE(3G)