1GLUNURBSSURFACE(3G)              OpenGL Manual             GLUNURBSSURFACE(3G)
2
3
4

NAME

6       gluNurbsSurface - define the shape of a NURBS surface
7

C SPECIFICATION

9       void gluNurbsSurface(GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots,
10                            GLint tKnotCount, GLfloat* tKnots, GLint sStride,
11                            GLint tStride, GLfloat* control, GLint sOrder,
12                            GLint tOrder, GLenum type);
13

PARAMETERS

15       nurb
16           Specifies the NURBS object (created with gluNewNurbsRenderer()).
17
18       sKnotCount
19           Specifies the number of knots in the parametric u direction.
20
21       sKnots
22           Specifies an array of sKnotCount nondecreasing knot values in the
23           parametric u direction.
24
25       tKnotCount
26           Specifies the number of knots in the parametric v direction.
27
28       tKnots
29           Specifies an array of tKnotCount nondecreasing knot values in the
30           parametric v direction.
31
32       sStride
33           Specifies the offset (as a number of single-precision
34           floating-point values) between successive control points in the
35           parametric u direction in control.
36
37       tStride
38           Specifies the offset (in single-precision floating-point values)
39           between successive control points in the parametric v direction in
40           control.
41
42       control
43           Specifies an array containing control points for the NURBS surface.
44           The offsets between successive control points in the parametric u
45           and v directions are given by sStride and tStride.
46
47       sOrder
48           Specifies the order of the NURBS surface in the parametric u
49           direction. The order is one more than the degree, hence a surface
50           that is cubic in u has a u order of 4.
51
52       tOrder
53           Specifies the order of the NURBS surface in the parametric v
54           direction. The order is one more than the degree, hence a surface
55           that is cubic in v has a v order of 4.
56
57       type
58           Specifies type of the surface.  type can be any of the valid
59           two-dimensional evaluator types (such as GLU_MAP2_VERTEX_3 or
60           GLU_MAP2_COLOR_4).
61

DESCRIPTION

63       Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline)
64       surface definition to describe the shape of a NURBS surface (before any
65       trimming). To mark the beginning of a NURBS surface definition, use the
66       gluBeginSurface() command. To mark the end of a NURBS surface
67       definition, use the gluEndSurface() command. Call gluNurbsSurface
68       within a NURBS surface definition only.
69
70       Positional, texture, and color coordinates are associated with a
71       surface by presenting each as a separate gluNurbsSurface between a
72       gluBeginSurface()/gluEndSurface() pair. No more than one call to
73       gluNurbsSurface for each of color, position, and texture data can be
74       made within a single gluBeginSurface()/gluEndSurface() pair. Exactly
75       one call must be made to describe the position of the surface (a type
76       of GLU_MAP2_VERTEX_3 or GLU_MAP2_VERTEX_4).
77
78       A NURBS surface can be trimmed by using the commands gluNurbsCurve()
79       and gluPwlCurve() between calls to gluBeginTrim() and gluEndTrim().
80
81       Note that a gluNurbsSurface with sKnotCount knots in the u direction
82       and tKnotCount knots in the v direction with orders sOrder and tOrder
83       must have (sKnotCount - sOrder) times (tKnotCount - tOrder) control
84       points.
85

EXAMPLE

87       The following commands render a textured NURBS surface with normals;
88       the texture coordinates and normals are also NURBS surfaces:
89
90           gluBeginSurface(nobj);
91              gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
92              gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
93              gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4);
94           gluEndSurface(nobj);
95
96
97

SEE ALSO

99       gluBeginSurface(), gluBeginTrim(), gluNewNurbsRenderer(),
100       gluNurbsCurve(), gluPwlCurve()
101
103       Copyright © 1991-2006 Silicon Graphics, Inc. This document is licensed
104       under the SGI Free Software B License. For details, see
105       http://oss.sgi.com/projects/FreeB/.
106

AUTHORS

108       opengl.org
109
110
111
112opengl.org                        07/13/2018               GLUNURBSSURFACE(3G)
Impressum