Signature
Parameters
Variables | Description |
---|---|
nurb |
Specifies the NURBS object (created with
gluNewNurbsRenderer
).
|
sKnotCount |
Specifies the number of knots in the parametric
u
direction.
|
sKnots |
Specifies an array of
sKnotCount
nondecreasing knot values in the parametric
u
direction.
|
tKnotCount |
Specifies the number of knots in the parametric
v
direction.
|
tKnots |
Specifies an array of
tKnotCount
nondecreasing knot values in the parametric
v
direction.
|
sStride |
Specifies the offset (as a number of single-precision floating-point values)
between successive control points in the parametric
u
direction
in
control
.
|
tStride |
Specifies the offset (in single-precision floating-point values)
between successive control points in the parametric
v
direction
in
control
.
|
control | |
sOrder |
Specifies the order of the NURBS surface in the parametric
u
direction. The order is one more than the degree, hence
a surface that is cubic in
u
has a
u
order of 4.
|
tOrder |
Specifies the order of the NURBS surface in the parametric
v
direction. The order is one more than the degree, hence
a surface that is cubic in
v
has a
v
order of 4.
|
type |
Specifies type of the surface.
type
can be any of the valid
two-dimensional evaluator types (such as
GLU_MAP2_VERTEX_3
or
GLU_MAP2_COLOR_4
).
|
Description
Use
gluNurbsSurface
within a NURBS (Non-Uniform Rational B-Spline) surface
definition to describe the shape of a NURBS surface (before
any trimming). To mark the beginning of
a NURBS surface definition, use the
gluBeginSurface
command.
To mark the end of a NURBS surface definition, use the
gluEndSurface
command. Call
gluNurbsSurface
within a NURBS
surface definition only.
Positional, texture, and color coordinates are associated
with a surface by presenting each as a separate
gluNurbsSurface
between a
gluBeginSurface
/
gluEndSurface
pair. No more than
one call to
gluNurbsSurface
for each of color, position, and texture
data can be made within a single
gluBeginSurface
/
gluEndSurface
pair. Exactly one call must be made to describe the position of the
surface (a
type
of
GLU_MAP2_VERTEX_3
or
GLU_MAP2_VERTEX_4
).
A NURBS surface can be trimmed by using the commands
gluNurbsCurve
and
gluPwlCurve
between calls to
gluBeginTrim
and
gluEndTrim
.
Note that a
gluNurbsSurface
with
sKnotCount
knots in the
u
direction
and
tKnotCount
knots in the
v
direction with orders
sOrder
and
tOrder
must have
(
sKnotCount
-
sOrder
)
(
tKnotCount
-
tOrder
) control points.
Example
The following commands render a textured NURBS surface with normals;
the texture coordinates and normals are also 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
Copyright
Copyright
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/
.
Sample Code References
The following code samples have been found which appear to reference the functions described here. Take care that the code may be old, broken or not even use PyOpenGL.
gluNurbsSurface