ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



GLUNURBSSURFACE(3G)                                                                      GLUNURBSSURFACE(3G)



NAME
       gluNurbsSurface - define the shape of a NURBS surface


C SPECIFICATION
       void gluNurbsSurface( GLUnurbs* nurb,
                             GLint sKnotCount,
                             GLfloat* sKnots,
                             GLint tKnotCount,
                             GLfloat* tKnots,
                             GLint sStride,
                             GLint tStride,
                             GLfloat* control,
                             GLint sOrder,
                             GLint tOrder,
                             GLenum type )


PARAMETERS
       nurb        Specifies the NURBS object (created with gluNewNurbsRenderer).

       sKnotCount  Specifies the number of knots in the parametric u direction.

       sKnots      Specifies an array of sKnotCount nondecreasing knot values in the parametric u direction.

       tKnotCount  Specifies the number of knots in the parametric v direction.

       tKnots      Specifies an array of tKnotCount nondecreasing knot values in the parametric v direction.

       sStride     Specifies the offset (as a number of single-precision floating point values) between suc-cessive successive
                   cessive control points in the parametric u direction in control.

       tStride     Specifies the offset (in single-precision floating-point values) between successive  con-trol control
                   trol 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 by  sStride  and
                   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. type can be any of the valid two-dimensional evaluator
                   types (such as GL_MAP2_VERTEX_3 or GL_MAP2_COLOR_4).

DESCRIPTION
       Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the
       shape  of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition,
       use the  gluBeginSurface  command.   To  mark  the  end  of  a  NURBS  surface  definition,  use  the
       gluEndSurface command. Call gluNurbsSurface within a NURBS surface definition only.

       Positional, texture, and color coordinates are associated with a surface by presenting each as a sep-arate separate
       arate 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 GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4).

       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 u direction and tKnotCount knots  in  the  v
       direction  with  orders sOrder and tOrder must have (sKnotCount - sOrder) times (tKnotCount - tOrder)
       control points.

EXAMPLE
       The following commands render a textured NURBS surface with normals; the texture coordinates and nor-mals normals
       mals are also NURBS surfaces:

       gluBeginSurface(nobj);
          gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2);
          gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL);
          gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj);


SEE ALSO
       gluBeginSurface(3G), gluBeginTrim(3G), gluNewNurbsRenderer(3G), gluNurbsCurve(3G), gluPwlCurve(3G)





                                                                                         GLUNURBSSURFACE(3G)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.