manpagez: man pages & more
man gluNurbsSurface(3)
Home | html | info | man
gluNurbsSurface(3)                                        gluNurbsSurface(3)




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  direc-
                   tion.

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

       tKnotCount  Specifies the number of knots in the  parametric  v  direc-
                   tion.

       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 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 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) sur-
       face 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  defini-
       tion,  use  the  gluEndSurface  command.  Call gluNurbsSurface within a
       NURBS surface definition only.

       Positional, texture, and color coordinates are associated with  a  sur-
       face  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
       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 normals 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(3), gluBeginTrim(3), gluNewNurbsRenderer(3),
       gluNurbsCurve(3), gluPwlCurve(3)




                                                           gluNurbsSurface(3)

Mac OS X 10.6 - Generated Thu Sep 17 20:20:35 CDT 2009
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.