9
.ds Xs 28728 6 nurbssurface.gl
10
.TH GLUNURBSSURFACE 3G
13
\- define the shape of a NURBS surface
16
void \f3gluNurbsSurface\fP(
19
.ta \w'\f3void \fPgluNurbsSurface( 'u
20
GLint \fIsKnotCount\fP,
21
GLfloat* \fIsKnots\fP,
22
GLint \fItKnotCount\fP,
23
GLfloat* \fItKnots\fP,
26
GLfloat* \fIcontrol\fP,
36
.TP \w'\fIsKnotCount\fP\ \ 'u
38
Specifies the NURBS object (created with \%\f3gluNewNurbsRenderer\fP).
41
Specifies the number of knots in the parametric \f2u\fP direction.
44
Specifies an array of \f2sKnotCount\fP nondecreasing knot values in the parametric
48
Specifies the number of knots in the parametric \f2v\fP direction.
51
Specifies an array of \f2tKnotCount\fP nondecreasing knot values in the parametric
55
Specifies the offset (as a number of single-precision floating point values)
56
between successive control points in the parametric \f2u\fP direction
60
Specifies the offset (in single-precision floating-point values)
61
between successive control points in the parametric \f2v\fP direction
65
Specifies an array containing control points for the NURBS surface.
66
The offsets between successive control points in the parametric \f2u\fP
67
and \f2v\fP directions are given by \f2sStride\fP and \f2tStride\fP.
70
Specifies the order of the NURBS surface in the parametric \f2u\fP
71
direction. The order is one more than the degree, hence
72
a surface that is cubic in \f2u\fP has a \f2u\fP order of 4.
75
Specifies the order of the NURBS surface in the parametric \f2v\fP
76
direction. The order is one more than the degree, hence
77
a surface that is cubic in \f2v\fP has a \f2v\fP order of 4.
80
Specifies type of the surface. \f2type\fP can be any of the valid
81
two-dimensional evaluator types (such as \%\f3GL_MAP2_VERTEX_3\fP or
82
\%\f3GL_MAP2_COLOR_4\fP).
84
Use \%\f3gluNurbsSurface\fP within a NURBS (Non-Uniform Rational B-Spline) surface
85
definition to describe the shape of a NURBS surface (before
86
any trimming). To mark the beginning of
87
a NURBS surface definition, use the \%\f3gluBeginSurface\fP command.
88
To mark the end of a NURBS surface definition, use the
89
\%\f3gluEndSurface\fP command. Call \%\f3gluNurbsSurface\fP within a NURBS
90
surface definition only.
92
Positional, texture, and color coordinates are associated
93
with a surface by presenting each as a separate \%\f3gluNurbsSurface\fP between a
94
\%\f3gluBeginSurface\fP/\%\f3gluEndSurface\fP pair. No more than
95
one call to \%\f3gluNurbsSurface\fP for each of color, position, and texture
96
data can be made within a single \%\f3gluBeginSurface\fP/\%\f3gluEndSurface\fP
97
pair. Exactly one call must be made to describe the position of the
98
surface (a \f2type\fP of \%\f3GL_MAP2_VERTEX_3\fP or \%\f3GL_MAP2_VERTEX_4\fP).
100
A NURBS surface can be trimmed by using the commands
101
\%\f3gluNurbsCurve\fP and \%\f3gluPwlCurve\fP between calls to
102
\%\f3gluBeginTrim\fP and \%\f3gluEndTrim\fP.
104
Note that a \%\f3gluNurbsSurface\fP with \f2sKnotCount\fP knots in the \f2u\fP direction
105
and \f2tKnotCount\fP knots in the \f2v\fP direction with orders
106
\f2sOrder\fP and \f2tOrder\fP must have
107
(\f2sKnotCount\fP - \f2sOrder\fP) $times$ (\f2tKnotCount\fP - \f2tOrder\fP) control points.
109
The following commands render a textured NURBS surface with normals;
110
the texture coordinates and normals are also NURBS surfaces:
113
gluBeginSurface(nobj);
114
gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
115
gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
116
gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4);
121
\%\f3gluBeginSurface(3G)\fP, \%\f3gluBeginTrim(3G)\fP, \%\f3gluNewNurbsRenderer(3G)\fP,
122
\%\f3gluNurbsCurve(3G)\fP,
123
\%\f3gluPwlCurve(3G)\fP