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

FreeBSD Manual Pages

  
 
  

home | help
GLUNURBSPROPERTY()					    GLUNURBSPROPERTY()

NAME
       gluNurbsProperty	- set a	NURBS property

C SPECIFICATION
       void gluNurbsProperty( GLUnurbs*	nurb,
			      GLenum property,
			      GLfloat value )

       delim $$

PARAMETERS
       nurb	 Specifies  the	 NURBS	object	(created  with gluNewNurbsRen-
		 derer).

       property	 Specifies the property	to be set. Valid values	 are  GLU_SAM-
		 PLING_TOLERANCE,	 GLU_DISPLAY_MODE,	  GLU_CULLING,
		 GLU_AUTO_LOAD_MATRIX,	 GLU_PARAMETRIC_TOLERANCE,    GLU_SAM-
		 PLING_METHOD, GLU_U_STEP, GLU_V_STEP, or GLU_NURBS_MODE_EXT.

       value	 Specifies  the	 value of the indicated	property.  It may be a
		 numeric  value,  or  one  of  GLU_OUTLINE_POLYGON,  GLU_FILL,
		 GLU_OUTLINE_PATCH,    GL_TRUE,	  GL_FALSE,   GLU_PATH_LENGTH,
		 GLU_PARAMETRIC_ERROR,	 GLU_DOMAIN_DISTANCE,	GLU_NURBS_REN-
		 DERER_EXT, or GLU_NURBS_TESSELLATOR_EXT.

DESCRIPTION
       gluNurbsProperty	 is  used  to control properties stored	in a NURBS ob-
       ject. These properties affect the way that a NURBS curve	 is  rendered.
       The accepted values for property	are as follows:

       GLU_NURBS_MODE_EXT
		      value  should be set to be either	GLU_NURBS_RENDERER_EXT
		      or GLU_NURBS_TESSELLATOR_EXT. When set to	GLU_NURBS_REN-
		      DERER_EXT, NURBS objects	are  tessellated  into	openGL
		      primitives  and sent to the pipeline for rendering. When
		      set to GLU_NURBS_TESSELLATOR_EXT,	NURBS objects are tes-
		      sellated into openGL primitives but the  vertices,  nor-
		      mals, colors, and/or textures are	retrieved back through
		      a	callback interface (see	gluNurbsCallback). This	allows
		      the  user	 to  cache the tessellated results for further
		      processing.

       GLU_SAMPLING_METHOD
		      Specifies	how a NURBS  surface  should  be  tessellated.
		      value  may be one	of GLU_PATH_LENGTH, GLU_PARAMETRIC_ER-
		      ROR,   GLU_DOMAIN_DISTANCE,  GLU_OBJECT_PATH_LENGTH_EXT,
		      or   GLU_OBJECT_PARAMETRIC_ERROR_EXT.    When   set   to
		      GLU_PATH_LENGTH, the surface is  rendered	 so  that  the
		      maximum length, in pixels, of the	edges of the tessella-
		      tion  polygons  is  no greater than what is specified by
		      GLU_SAMPLING_TOLERANCE.

		      GLU_PARAMETRIC_ERROR specifies that the surface is  ren-
		      dered  in	 such  a  way  that  the  value	 specified  by
		      GLU_PARAMETRIC_TOLERANCE describes the maximum distance,
		      in pixels, between the  tessellation  polygons  and  the
		      surfaces they approximate.

		      GLU_DOMAIN_DISTANCE allows users to specify, in paramet-
		      ric  coordinates,	how many sample	points per unit	length
		      are taken	in u, v	direction.

		      GLU_OBJECT_PATH_LENGTH_EXT       is      similar	    to
		      GLU_PATH_LENGTH except that it is	view independent, that
		      is,  the surface is rendered so that the maximum length,
		      in object	space, of edges	of the	tessellation  polygons
		      is  no  greater  than  what  is  specified  by  GLU_SAM-
		      PLING_TOLERANCE.

		      GLU_OBJECT_PARAMETRIC_ERROR_EXT is similar to  GLU_PARA-
		      METRIC_ERROR except that it is  view  independent,  that
		      is, the surface is rendered in such a way	that the value
		      specified	by GLU_PARAMETRIC_TOLERANCE describes the max-
		      imum distance, in	object space, between the tessellation
		      polygons and the surfaces	they approximate.

		      The    initial	value	 of   GLU_SAMPLING_METHOD   is
		      GLU_PATH_LENGTH.

       GLU_SAMPLING_TOLERANCE
		      Specifies	the maximum length, in	pixels	or  in	object
		      space  length  unit,  to use when	the sampling method is
		      set to  GLU_PATH_LENGTH  or  GLU_OBJECT_PATH_LENGTH_EXT.
		      The NURBS	code is	conservative when rendering a curve or
		      surface,	so  the	actual length can be somewhat shorter.
		      The initial value	is 50.0	pixels.

       GLU_PARAMETRIC_TOLERANCE
		      Specifies	the maximum distance, in pixels	or  in	object
		      space  length  unit,  to use when	the sampling method is
		      GLU_PARAMETRIC_ERROR or GLU_OBJECT_PARAMETRIC_ERROR_EXT.
		      The initial value	is 0.5.

       GLU_U_STEP     Specifies	the number of sample points  per  unit	length
		      taken  along the u axis in parametric coordinates. It is
		      needed  when  GLU_SAMPLING_METHOD	 is  set  to   GLU_DO-
		      MAIN_DISTANCE.  The initial value	is 100.

       GLU_V_STEP     Specifies	 the  number  of sample	points per unit	length
		      taken along the v	axis in	parametric coordinate.	It  is
		      needed   when  GLU_SAMPLING_METHOD  is  set  to  GLU_DO-
		      MAIN_DISTANCE. The initial value is 100.

       GLU_DISPLAY_MODE
		      value can	be set to  GLU_OUTLINE_POLYGON,	 GLU_FILL,  or
		      GLU_OUTLINE_PATCH.  When GLU_NURBS_MODE_EXT is set to be
		      GLU_NURBS_RENDERER_EXT,  value  defines how a NURBS sur-
		      face should be rendered.	When value is set to GLU_FILL,
		      the surface is rendered as a set of polygons. When value
		      is set to	GLU_OUTLINE_POLYGON, the NURBS	library	 draws
		      only  the	 outlines of the polygons created by tessella-
		      tion. When value is set to  GLU_OUTLINE_PATCH  just  the
		      outlines	of patches and trim curves defined by the user
		      are drawn.

		      When GLU_NURBS_MODE_EXT is set to	be GLU_NURBS_TESSELLA-
		      TOR_EXT, value defines how a  NURBS  surface  should  be
		      tessellated.   When  GLU_DISPLAY_MODE is set to GLU_FILL
		      or GLU_OUTLINE_POLY, the NURBS  surface  is  tessellated
		      into  openGL  triangle primitives	which can be retrieved
		      back  through callback functions.	If GLU_DISPLAY_MODE is
		      set to  GLU_OUTLINE_PATCH,  only	the  outlines  of  the
		      patches  and  trim curves	are generated as a sequence of
		      line strips which	can be retrieved back through callback
		      functions.

		      The initial value	is GLU_FILL.

       GLU_CULLING    value is a boolean value that, when set to GL_TRUE,  in-
		      dicates  that a NURBS curve should be discarded prior to
		      tessellation if its control points lie outside the  cur-
		      rent viewport. The initial value is GL_FALSE.

       GLU_AUTO_LOAD_MATRIX
		      value is a boolean value.	When set to GL_TRUE, the NURBS
		      code  downloads the projection matrix, the modelview ma-
		      trix, and	the viewport from the  GL  server  to  compute
		      sampling	and culling matrices for each NURBS curve that
		      is rendered. Sampling and	culling	matrices are  required
		      to  determine  the  tessellation of a NURBS surface into
		      line segments or polygons	and to cull a NURBS surface if
		      it lies outside the viewport.

		      If this mode is set to GL_FALSE, then the	program	 needs
		      to  provide a projection matrix, a modelview matrix, and
		      a	viewport for the NURBS renderer	to  use	 to  construct
		      sampling	and  culling  matrices.	 This can be done with
		      the gluLoadSamplingMatrices function.  This mode is ini-
		      tially set to GL_TRUE.   Changing	 it  from  GL_TRUE  to
		      GL_FALSE does not	affect the sampling and	culling	matri-
		      ces until	gluLoadSamplingMatrices	is called.

NOTES
       If  GLU_AUTO_LOAD_MATRIX	 is true, sampling and culling may be executed
       incorrectly if NURBS routines are compiled into a display list.

       A   property    of    GLU_PARAMETRIC_TOLERANCE,	  GLU_SAMPLING_METHOD,
       GLU_U_STEP,  or GLU_V_STEP, or a	value of GLU_PATH_LENGTH, GLU_PARAMET-
       RIC_ERROR, GLU_DOMAIN_DISTANCE are only available if the	GLU version is
       1.1 or greater. They are	not valid parameters in	GLU 1.0.

       gluGetString can	be used	to determine the GLU version.

SEE ALSO
       gluGetNurbsProperty,   gluLoadSamplingMatrices,	  gluNewNurbsRenderer,
       gluGetString, gluNurbsCallback

							    GLUNURBSPROPERTY()

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

home | help