Non-Uniform Rational B-Spline (NURBS) functions provide general and powerful descriptions of curves and surfaces in two and three dimensions, converting the curves and surfaces to OpenGL evaluators. The NURBS functions can represent geometry in many computer-aided mechanical design systems. They can render curves and surfaces in a variety of styles, and they can automatically handle adaptive subdivision that tessellates the domain into smaller triangles in regions of high curvature and near silhouette edges. NURBS functions fall into the following categories.
To manage a NURBS object, use:
To specify the desired curves, use:
To specify the desired surfaces, use:
You can also specify a trimming region, which defines a subset of the NURBS surface domain to be evaluated so you can create surfaces that have smooth boundaries or that contain holes.
To specify the trimming region, use:
As with quadric objects, you can control how NURBS curves and surfaces are rendered. You can determine:
Use gluNurbsProperty to set these properties, or use the default values. You can query a NURBS object about its rendering style with gluGetNurbsProperty.