1GLUNURBSCURVE(3G)                                            GLUNURBSCURVE(3G)
2
3
4

NAME

6       gluNurbsCurve - define the shape of a NURBS curve
7
8

C SPECIFICATION

10       void gluNurbsCurve( GLUnurbs* nurb,
11                           GLint knotCount,
12                           GLfloat *knots,
13                           GLint stride,
14                           GLfloat *control,
15                           GLint order,
16                           GLenum type )
17
18

PARAMETERS

20       nurb       Specifies     the     NURBS     object     (created     with
21                  gluNewNurbsRenderer).
22
23       knotCount  Specifies the number of knots in  knots.   knotCount  equals
24                  the number of control points plus the order.
25
26       knots      Specifies an array of knotCount nondecreasing knot values.
27
28       stride     Specifies the offset (as a number of single-precision float‐
29                  ing-point values) between successive curve control points.
30
31       control    Specifies a pointer to an array of control points. The coor‐
32                  dinates must agree with type, specified below.
33
34       order      Specifies  the order of the NURBS curve. order equals degree
35                  + 1, hence a cubic curve has an order of 4.
36
37       type       Specifies the type of the curve. If this  curve  is  defined
38                  within  a  gluBeginCurve/gluEndCurve pair, then the type can
39                  be any of the valid one-dimensional evaluator types (such as
40                  GL_MAP1_VERTEX_3     or    GL_MAP1_COLOR_4).    Between    a
41                  gluBeginTrim/gluEndTrim  pair,  the  only  valid  types  are
42                  GLU_MAP1_TRIM_2 and GLU_MAP1_TRIM_3.
43

DESCRIPTION

45       Use gluNurbsCurve to describe a NURBS curve.
46
47       When gluNurbsCurve appears between a gluBeginCurve/gluEndCurve pair, it
48       is used to describe a curve to be rendered.  Positional,  texture,  and
49       color  coordinates  are  associated  by  presenting  each as a separate
50       gluNurbsCurve between a gluBeginCurve/gluEndCurve pair.  No  more  than
51       one call to gluNurbsCurve for each of color, position, and texture data
52       can be made within a single gluBeginCurve/gluEndCurve pair. Exactly one
53       call  must  be  made  to  describe the position of the curve (a type of
54       GL_MAP1_VERTEX_3 or GL_MAP1_VERTEX_4).
55
56       When gluNurbsCurve appears between a gluBeginTrim/gluEndTrim  pair,  it
57       is  used  to  describe  a trimming curve on a NURBS surface. If type is
58       GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u and v)
59       parameter space. If it is GLU_MAP1_TRIM_3, then it describes a curve in
60       two-dimensional homogeneous (u, v, and w)  parameter  space.   See  the
61       gluBeginTrim reference page for more discussion about trimming curves.
62

EXAMPLE

64       The following commands render a textured NURBS curve with normals:
65
66       gluBeginCurve(nobj);
67          gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
68          gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
69          gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);
70
71

NOTES

73       To define trim curves which stitch well, use gluPwlCurve.
74

SEE ALSO

76       gluBeginCurve(3G),      gluBeginTrim(3G),      gluNewNurbsRenderer(3G),
77       gluPwlCurve(3G)
78
79
80
81
82                                                             GLUNURBSCURVE(3G)
Impressum