void gluNurbsSurface( GLUnurbs*nurb, GLintsKnotCount, GLfloat*sKnots, GLinttKnotCount, GLfloat*tKnots, GLintsStride, GLinttStride, GLfloat*control, GLintsOrder, GLinttOrder, GLenumtype)

*nurb*- Specifies the NURBS object (created with
`gluNewNurbsRenderer`). *sKnotCount*- Specifies the number of knots in the parametric
*u*direction. *sKnots*- Specifies an array of
nondecreasing knot values in the parametric*sKnotCount**u*direction. *tKnotCount*- Specifies the number of knots in the parametric
*v*direction. *tKnots*- Specifies an array of
nondecreasing knot values in the parametric*tKnotCount**v*direction. *sStride*- Specifies the offset (as a number of single-precision floating point
values) between successive control points in the parametric
*u*direction in.*control* *tStride*- Specifies the offset (in single-precision floating-point values) between
successive control points in the parametric
*v*direction in.*control* *control*- Specifies an array containing control points for the NURBS surface. The
offsets between successive control points in the parametric
*u*and*v*directions are given byand*sStride*.*tStride* *sOrder*- Specifies the order of the NURBS surface in the parametric
*u*direction. The order is one more than the degree, hence a surface that is cubic in*u*has a*u*order of 4. *tOrder*- Specifies the order of the NURBS surface in the parametric
*v*direction. The order is one more than the degree, hence a surface that is cubic in*v*has a*v*order of 4. *type*- Specifies type of the surface.
can be any of the valid two-dimensional evaluator types (such as*type*or**GL_MAP2_VERTEX_3**).**GL_MAP2_COLOR_4**

Positional, texture, and color coordinates are associated with a surface by
presenting each as a separate `gluNurbsSurface` between a `gluBeginSurface`/`gluEndSurface` pair. No more than one
call to `gluNurbsSurface` for each of color, position, and texture data
can be made within a single `gluBeginSurface`/`gluEndSurface` pair. Exactly one call
must be made to describe the position of the surface (a ` type`
of

A NURBS surface can be trimmed by using the commands `gluNurbsCurve` and `gluPwlCurve` between calls to `gluBeginTrim` and `gluEndTrim`.

Note that a `gluNurbsSurface` with ` sKnotCount` knots in
the