gluBeginSurface,
gluEndSurface
[New
- Windows 95, OEM Service Release 2]
The gluBeginSurface and gluEndSurface
functions delimit a NURBS surface definition.
void gluBeginSurface(
GLUnurbsObj * nobj |
|
); |
|
void gluEndSurface(
GLUnurbsObj * nobj |
|
); |
|
Parameters
nobj
The NURBS
object (created with gluNewNurbsRenderer
Remarks
The gluBeginSurface and gluEndSurface
functions mark the beginning and end of NURBS surface definitions, which are
defined with calls to gluNurbsSurface.
{bmc bm4.MRB} To define a surface
1. Call gluBeginSurface to mark the
beginning of a NURBS surface definition.
2. 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.
3. To mark the end of the NURBS surface
definition, call gluEndSurface.
The gluBeginTrim, gluPwlCurve, gluNurbsCurve,
and gluEndTrim functions support trimming of NURBS surfaces. For more
information, see gluBeginTrim
Use OpenGL evaluators to render the NURBS surface as a
set of polygons. Preserve the evaluator state during rendering with glPushAttrib(GL_EVAL_BIT)
and glPopAttrib. For information on exactly what states these calls
preserve, see glPushAttrib
Example
The following functions 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