Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > eee00533ac83fd7ebbf9846dc6d3b77b > files > 201

Io-language-graphics-and-sound-20080330-6.fc15.i686.rpm

<HTML>
<BODY>
<PRE>
     <STRONG>NAME</STRONG>
	  <STRONG>gluNurbsSurface</STRONG> - define the shape of	a NURBS	surface


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


     <STRONG>PARAMETERS</STRONG>
	  <EM>nurb</EM>	      Specifies	the NURBS object (created with
		      <STRONG>gluNewNurbsRenderer</STRONG>).

	  <EM>sKnotCount</EM>  Specifies	the number of knots in the parametric
		      <EM>u</EM>	direction.

	  <EM>sKnots</EM>      Specifies	an array of <EM>sKnotCount</EM> nondecreasing
		      knot values in the parametric <EM>u</EM> direction.

	  <EM>tKnotCount</EM>  Specifies	the number of knots in the parametric
		      <EM>v</EM>	direction.

	  <EM>tKnots</EM>      Specifies	an array of <EM>tKnotCount</EM> nondecreasing
		      knot values in the parametric <EM>v</EM> direction.

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

	  <EM>tStride</EM>     Specifies	the offset (in single-precision
		      floating-point values) between successive
		      control points in	the parametric <EM>v</EM> direction in
		      <EM>control</EM>.

	  <EM>control</EM>     Specifies	an array containing control points for
		      the NURBS	surface.  The offsets between
		      successive control points	in the parametric <EM>u</EM>
		      and <EM>v</EM> directions are given by <EM>sStride</EM> and
		      <EM>tStride</EM>.

	  <EM>sOrder</EM>      Specifies	the order of the NURBS surface in the
		      parametric <EM>u</EM> direction. The order	is one more
		      than the degree, hence a surface that is cubic
		      in <EM>u</EM> has a <EM>u</EM> order of 4.

	  <EM>tOrder</EM>      Specifies	the order of the NURBS surface in the
		      parametric <EM>v</EM> direction. The order	is one more
		      than the degree, hence a surface that is cubic
		      in <EM>v</EM> has a <EM>v</EM> order of 4.

	  <EM>type</EM>	      Specifies	type of	the surface. <EM>type</EM> can be any
		      of the valid two-dimensional evaluator types
		      (such as <STRONG>GL_MAP2_VERTEX_3</STRONG>	or <STRONG>GL_MAP2_COLOR_4</STRONG>).

     <STRONG>DESCRIPTION</STRONG>
	  Use <STRONG>gluNurbsSurface</STRONG> 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 <STRONG>gluBeginSurface</STRONG> command.
	  To mark the end of a NURBS surface definition, use the
	  <STRONG>gluEndSurface</STRONG>	command. Call <STRONG>gluNurbsSurface</STRONG> within a NURBS
	  surface definition only.

	  Positional, texture, and color coordinates are associated
	  with a surface by presenting each as a separate
	  <STRONG>gluNurbsSurface</STRONG> between a <STRONG>gluBeginSurface</STRONG>/<STRONG>gluEndSurface</STRONG>
	  pair.	No more	than one call to <STRONG>gluNurbsSurface</STRONG> for each of
	  color, position, and texture data can	be made	within a
	  single <STRONG>gluBeginSurface</STRONG>/<STRONG>gluEndSurface</STRONG> pair. Exactly one call
	  must be made to describe the position	of the surface (a <EM>type</EM>
	  of <STRONG>GL_MAP2_VERTEX_3</STRONG> or <STRONG>GL_MAP2_VERTEX_4</STRONG>).

	  A NURBS surface can be trimmed by using the commands
	  <STRONG>gluNurbsCurve</STRONG>	and <STRONG>gluPwlCurve</STRONG>	between	calls to <STRONG>gluBeginTrim</STRONG>
	  and <STRONG>gluEndTrim</STRONG>.

	  Note that a <STRONG>gluNurbsSurface</STRONG> with <EM>sKnotCount</EM> knots in the <EM>u</EM>
	  direction and	<EM>tKnotCount</EM> knots in the	<EM>v</EM> direction with
	  orders <EM>sOrder</EM>	and <EM>tOrder</EM> must	have (<EM>sKnotCount</EM> - <EM>sOrder</EM>) x
	  (<EM>tKnotCount</EM> -	<EM>tOrder</EM>)	control	points.

     <STRONG>EXAMPLE</STRONG>
	  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);


     <STRONG>SEE</STRONG> <STRONG>ALSO</STRONG>

	  <STRONG>gluBeginSurface</STRONG>, <STRONG>gluBeginTrim</STRONG>, <STRONG>gluNewNurbsRenderer</STRONG>,
	  <STRONG>gluNurbsCurve</STRONG>, <STRONG>gluPwlCurve</STRONG>


















































</PRE>
</BODY>
</HTML>