Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ glunurbssurface(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



gluNurbsSurface(3G)            OpenGL Reference            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 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.



                                                                        Page 1





gluNurbsSurface(3G)            OpenGL Reference            gluNurbsSurface(3G)



     type        Specifies type of the surface. type can be any of the valid
                 two-dimensional evaluator types (such as GLMAP2VERTEX3 or
                 GLMAP2COLOR4).


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 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
     GLMAP2VERTEX3 or GLMAP2VERTEX4).

     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) x (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, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve,
     gluPwlCurve










                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026