GLUNURBSCURVE(3G) | GLUNURBSCURVE(3G) |
gluNurbsCurve - define the shape of a NURBS curve
void gluNurbsCurve( GLUnurbs* nurb,
GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type )
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 GL_MAP1_VERTEX_3 or GL_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.
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);
To define trim curves which stitch well, use gluPwlCurve.
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve