gluNurbsCurve — define the shape of a NURBS curve

`void ` | GLUnurbs* | nurb, |

GLint | knotCount, | |

GLfloat * | knots, | |

GLint | stride, | |

GLfloat * | control, | |

GLint | order, | |

GLenum | type`)` ; |

`nurb`

Specifies the NURBS object (created with gluNewNurbsRenderer).

`knotCount`

Specifies the number of knots in

.`knots`

equals the number of control points plus the order.`knotCount`

`knots`

Specifies an array of

nondecreasing knot values.`knotCount`

`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

, specified below.`type`

`order`

Specifies the order of the NURBS curve.

equals degree + 1, hence a cubic curve has an order of 4.`order`

`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`

.

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 (`GLU_MAP1_TRIM_3`

, then it describes a
curve in two-dimensional homogeneous (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);

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/.