MirBSD manpage: gluNurbsSurface(3)


GLUNURBSSURFACE(3G) UNIX Programmer's Manual  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 succes-
                 sive control points in the parametric u direc-
                 tion in control.

     tStride     Specifies the offset (in single-precision
                 floating-point values) between successive con-
                 trol points in the parametric v direction in
                 control.

     control     Specifies an array containing control points for
                 the NURBS surface. The offsets between succes-
                 sive 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

MirBSD #10-current     Printed 2021-12-07                       1

GLUNURBSSURFACE(3G) UNIX Programmer's Manual  GLUNURBSSURFACE(3G)

                 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 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 sin-
     gle 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 ord-
     ers 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(3G), gluBeginTrim(3G),

MirBSD #10-current     Printed 2021-12-07                       2

GLUNURBSSURFACE(3G) UNIX Programmer's Manual  GLUNURBSSURFACE(3G)

     gluNewNurbsRenderer(3G), gluNurbsCurve(3G), gluPwlCurve(3G)

MirBSD #10-current     Printed 2021-12-07                       3

Generated on 2021-12-07 11:28:18 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.