Signature
Parameters
Variables | Description |
---|---|
nurb |
Specifies the NURBS object (created with
gluNewNurbsRenderer
).
|
knotCount | |
knots |
Specifies an array of
knotCount
nondecreasing knot values.
|
stride |
Specifies the offset (as a number of single-precision floating-point values)
between successive curve control points.
|
control |
Specifies a pointer to an array of control points. The coordinates must
agree with
type
, specified below.
|
order |
Specifies the order of the NURBS curve.
order
equals degree + 1, hence
a cubic curve has an order of 4.
|
type |
Specifies the type of the curve. If this curve is defined within a
gluBeginCurve
/
gluEndCurve
pair, then
the type can be any of the valid
one-dimensional evaluator types (such as
GLU_MAP1_VERTEX_3
or
GLU_MAP1_COLOR_4
). Between a
gluBeginTrim
/
gluEndTrim
pair,
the only valid types are
GLU_MAP1_TRIM_2
and
GLU_MAP1_TRIM_3
.
|
Description
Use
gluNurbsCurve
to describe a NURBS curve.
When
gluNurbsCurve
appears between a
gluBeginCurve
/
gluEndCurve
pair, it is
used to describe a curve to be rendered.
Positional, texture, and color coordinates are associated
by presenting each as a separate
gluNurbsCurve
between a
gluBeginCurve
/
gluEndCurve
pair. No more than
one call to
gluNurbsCurve
for each of color, position, and texture
data can be made within a single
gluBeginCurve
/
gluEndCurve
pair. Exactly one call must be made to describe the position of the
curve (a
type
of
GLU_MAP1_VERTEX_3
or
GLU_MAP1_VERTEX_4
).
When
gluNurbsCurve
appears between a
gluBeginTrim
/
gluEndTrim
pair, it is
used to describe a trimming curve on a NURBS surface. If
type
is
GLU_MAP1_TRIM_2
, then it describes a curve in two-dimensional (
u
and
v
)
parameter space. If it is
GLU_MAP1_TRIM_3
, then it describes a
curve in two-dimensional homogeneous (
u
,
v
, and
w
)
parameter space.
See the
gluBeginTrim
reference page for more discussion about trimming
curves.
Example
The following commands render a textured NURBS curve with normals:
gluBeginCurve(nobj);
gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
Notes
To define trim curves that stitch well, use
gluPwlCurve
.
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.
gluNurbsCurve