Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
GLUNURBSSURFACE()					       GLUNURBSSURFACE()

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 )

     delim $$

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 paramet-
		 ric u direction in control.

     tStride	 Specifies the offset (in single-precision  floating-point  val-
		 ues)  between successive control points in the parametric v di-
		 rection in control.

     control	 Specifies an array containing control points for the NURBS sur-
		 face.	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  sur-
		 face 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  sur-
		 face 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 gluBeginSur-
     face command.  To mark the end of a NURBS surface definition, use the  glu-
     EndSurface  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  gluBeginSur-
     face/gluEndSurface  pair. No more than one call to gluNurbsSurface for each
     of color, position, and texture data can be made within a single  gluBegin-
     Surface/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,  gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, gluPwl-
     Curve

							       GLUNURBSSURFACE()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gluNurbsSurface&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help