1GLUBEGINSURFACE(3G) GLUBEGINSURFACE(3G)
2
3
4
6 gluBeginSurface, gluEndSurface - delimit a NURBS surface definition
7
8
10 void gluBeginSurface( GLUnurbs* nurb )
11
12 void gluEndSurface( GLUnurbs* nurb )
13
14
16 nurb Specifies the NURBS object (created with gluNewNurbsRenderer).
17
19 Use gluBeginSurface to mark the beginning of a NURBS surface defini‐
20 tion. After calling gluBeginSurface, make one or more calls to
21 gluNurbsSurface to define the attributes of the surface. Exactly one
22 of these calls to gluNurbsSurface must have a surface type of
23 GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4. To mark the end of the NURBS
24 surface definition, call gluEndSurface.
25
26 Trimming of NURBS surfaces is supported with gluBeginTrim, gluPwlCurve,
27 gluNurbsCurve, and gluEndTrim. See the gluBeginTrim reference page for
28 details.
29
30 GL evaluators are used to render the NURBS surface as a set of poly‐
31 gons. Evaluator state is preserved during rendering with
32 glPushAttrib(GL_EVAL_BIT) and glPopAttrib(). See the glPushAttrib ref‐
33 erence page for details on exactly what state these calls preserve.
34
36 The following commands render a textured NURBS surface with normals;
37 the texture coordinates and normals are also described as NURBS sur‐
38 faces:
39
40 gluBeginSurface(nobj);
41 gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
42 gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
43 gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj);
44
45
47 gluBeginCurve(3G), gluBeginTrim(3G), gluNewNurbsRenderer(3G),
48 gluNurbsCurve(3G), gluNurbsSurface(3G), gluPwlCurve(3G)
49
50
51
52
53
54
55 GLUBEGINSURFACE(3G)