GLUBEGINSURFACE(3G) OpenGL Manual GLUBEGINSURFACE(3G)
NAME
gluBeginSurface - delimit a NURBS surface definition
C SPECIFICATION
void gluBeginSurface(GLUnurbs* nurb);
C SPECIFICATION
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
GLU_MAP2_VERTEX_3 or GLU_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()(GLU_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(), gluBeginTrim(), gluNewNurbsRenderer(), gluNurbsCurve(), gluNurbsSurface(), gluPwlCurve(), glPushAttrib()
COPYRIGHT
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/.
AUTHORS
opengl.org
opengl.org 06/10/2014 GLUBEGINSURFACE(3G)