*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> OpenGL/glunurbscallback (3)              
Title
Content
Arch
Section
 

Contents


gluNurbsCallback(3G)	       OpenGL Reference		  gluNurbsCallback(3G)


NAME    [Toc]    [Back]

     gluNurbsCallback -	define a callback for a	NURBS object

C SPECIFICATION    [Toc]    [Back]

     void gluNurbsCallback( GLUnurbs* nurb,
			    GLenum which,
			    GLvoid (*CallBackFunc)( )

PARAMETERS    [Toc]    [Back]

     nurb	   Specifies the NURBS object (created with
		   gluNewNurbsRenderer).

     which	   Specifies the callback being	defined. Valid values are
		   GLU_NURBS_BEGIN, GLU_NURBS_VERTEX, GLU_NURBS_NORMAL,
		   GLU_NURBS_COLOR, GLU_NURBS_TEXTURE_COORD, GLU_NURBS_END,
		   GLU_NURBS_BEGIN_DATA, GLU_NURBS_VERTEX_DATA,
		   GLU_NURBS_NORMAL_DATA, GLU_NURBS_COLOR_DATA,
		   GLU_NURBS_TEXTURE_COORD_DATA, GLU_NURBS_END_DATA, and
		   GLU_NURBS_ERROR.

     CallBackFunc  Specifies the function that the callback calls.

DESCRIPTION    [Toc]    [Back]

     gluNurbsCallback is used to define	a callback to be used by a NURBS
     object.  If the specified callback	is already defined, then it is
     replaced.	If CallBackFunc	is NULL, then this callback will not get
     invoked and the related data, if any, will	be lost.

     Except the	error callback,	these callbacks	are used by NURBS tessellator
     (when GLU_NURBS_MODE is set to be GLU_NURBS_TESSELLATOR) to return	back
     the OpenGL	polygon	primitives resulting from the tessellation. Note that
     there are two versions of each callback: one with a user data pointer and
     one without. If both versions for a particular callback are specified
     then the callback with the	user data pointer will be used.	Note that
     ``userData'' is a copy of the pointer that	was specified at the last call
     to	gluNurbsCallbackData.

     The error callback	function is effective no matter	which value that
     GLU_NURBS_MODE is set to.	All other callback functions are effective
     only when GLU_NURBS_MODE is set to	GLU_NURBS_TESSELLATOR.

     The legal callbacks are as	follows:

     GLU_NURBS_BEGIN    [Toc]    [Back]
	       The begin callback indicates the	start of a primitive. The
	       function	takes a	single argument	of type	GLenum,	which can be
	       one of GL_LINES,	GL_LINE_STRIP, GL_TRIANGLE_FAN,
	       GL_TRIANGLE_STRIP, GL_TRIANGLES,	or GL_QUAD_STRIP. The default
	       begin callback function is NULL.	The function prototype for
	       this callback looks like:



									Page 1






gluNurbsCallback(3G)	       OpenGL Reference		  gluNurbsCallback(3G)



		    void begin ( GLenum	type );


     GLU_NURBS_BEGIN_DATA    [Toc]    [Back]
	       The same	as the GLU_NURBS_BEGIN callback	except that it takes
	       an additional pointer argument. This pointer is a copy of the
	       pointer that was	specified at the last call to
	       gluNurbsCallbackData.  The default callback function is NULL.
	       The function prototype for this callback	function looks like:

		    void beginData (GLenum type, void *userData);


     GLU_NURBS_VERTEX    [Toc]    [Back]
	       The vertex callback indicates a vertex of the primitive.	The
	       coordinates of the vertex are stored in the parameter
	       ``vertex''. All the generated vertices have dimension 3,	that
	       is, homogeneous coordinates have	been transformed into affine
	       coordinates. The	default	vertex callback	function is NULL. The
	       function	prototype for this callback function looks like:

		    void vertex	( GLfloat *vertex );


     GLU_NURBS_VERTEX_DATA    [Toc]    [Back]
	       This is the same	as the GLU_NURBS_VERTEX	callback, except that
	       it takes	an additional pointer argument.	This pointer is	a copy
	       of the pointer that was specified at the	last call to
	       gluNurbsCallbackData.  The default callback function is NULL.
	       The function prototype for this callback	function looks like:

		    void vertexData ( GLfloat *vertex, void *userData );


     GLU_NURBS_NORMAL    [Toc]    [Back]
	       The normal callback is invoked as the vertex normal is
	       generated.  The components of the normal	are stored in the
	       parameter ``normal''.  In the case of a NURBS curve, the
	       callback	function is effective only when	the user provides a
	       normal map (GL_MAP1_NORMAL).  In	the case of a NURBS surface,
	       if a normal map (GL_MAP2_NORMAL)	is provided, then the
	       generated normal	is computed from the normal map.  If a normal
	       map is not provided then	a surface normal is computed in	a
	       manner similar to that described	for evaluators when
	       GL_AUTO_NORMAL is enabled.










									Page 2






gluNurbsCallback(3G)	       OpenGL Reference		  gluNurbsCallback(3G)



	       The default normal callback function is NULL. The function
	       prototype for this callback function looks like:

		    void normal	( GLfloat *normal );


     GLU_NURBS_NORMAL_DATA    [Toc]    [Back]
	       The same	as the GLU_NURBS_NORMAL	callback except	that it	takes
	       an additional pointer argument. This pointer is a copy of the
	       pointer that was	specified at the last call to
	       gluNurbsCallbackData.  The default callback function is NULL.
	       The function prototype for this callback	function looks like:

		    void normalData ( GLfloat *normal, void *userData );


     GLU_NURBS_COLOR    [Toc]    [Back]
	       The color callback is invoked as	the color of a vertex is
	       generated.  The components of the color are stored in the
	       parameter ``color''.  This callback is effective	only when the
	       user provides a color map (GL_MAP1_COLOR_4 or GL_MAP2_COLOR_4).
	       ``color'' contains four components: R,G,B,A. The	default	color
	       callback	function is NULL. The prototype	for this callback
	       function	looks like:

		    void color ( GLfloat *color	);


     GLU_NURBS_COLOR_DATA    [Toc]    [Back]
	       The same	as the GLU_NURBS_COLOR callback	except that it takes
	       an additional pointer argument. This pointer is a copy of the
	       pointer that was	specified at the last call to
	       gluNurbsCallbackData.  The default callback function is NULL.
	       The function prototype for this callback	function looks like:

		    void colorData ( GLfloat *color, void *userData );


     GLU_NURBS_TEXTURE_COORD    [Toc]    [Back]
	       The texture callback is invoked as the texture coordinates of a
	       vertex are generated. These coordinates are stored in the
	       parameter ``texCoord''. The number of texture coordinates can
	       be 1, 2,	3, or 4	depending on which type	of texture map is
	       specified (GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2,
	       GL_MAP1_TEXTURE_COORD_3,	GL_MAP1_TEXTURE_COORD_4,
	       GL_MAP2_TEXTURE_COORD_1,	GL_MAP2_TEXTURE_COORD_2,
	       GL_MAP2_TEXTURE_COORD_3,	GL_MAP2_TEXTURE_COORD_4).  If no
	       texture map is specified, this callback function	will not be
	       called.






									Page 3






gluNurbsCallback(3G)	       OpenGL Reference		  gluNurbsCallback(3G)



	       The default texture callback function is	NULL. The function
	       prototype for this callback function looks like:

		    void texCoord ( GLfloat *texCoord );


      GLU_NURBS_TEXTURE_COORD_DATA    [Toc]    [Back]
	       This is the same	as the GLU_NURBS_TEXTURE_COORD callback,
	       except that it takes an additional pointer argument. This
	       pointer is a copy of the	pointer	that was specified at the last
	       call to gluNurbsCallbackData.  The default callback function is
	       NULL. The function prototype for	this callback function looks
	       like:

		    void texCoordData (GLfloat *texCoord, void *userData);


     GLU_NURBS_END    [Toc]    [Back]
	       The end callback	is invoked at the end of a primitive. The
	       default end callback function is	NULL. The function prototype
	       for this	callback function looks	like:

		    void end ( void );


     GLU_NURBS_END_DATA    [Toc]    [Back]
	       This is the same	as the GLU_NURBS_END callback, except that it
	       takes an	additional pointer argument. This pointer is a copy of
	       the pointer that	was specified at the last call to
	       gluNurbsCallbackData.  The default callback function is NULL.
	       The function prototype for this callback	function looks like:

		    void endData ( void	 *userData );


     GLU_NURBS_ERROR    [Toc]    [Back]
	       The error function is called when an error is encountered.  Its
	       single argument is of type GLenum, and it indicates the
	       specific	error that occurred.  There are	37 errors unique to
	       NURBS named GLU_NURBS_ERROR1 through GLU_NURBS_ERROR37.
	       Character strings describing these errors can be	retrieved with
	       gluErrorString.













									Page 4






gluNurbsCallback(3G)	       OpenGL Reference		  gluNurbsCallback(3G)


NOTES    [Toc]    [Back]

     gluNurbsCallback is available only	if the GLU version is 1.2 or greater.

     GLU version 1.2 supports only the GLU_ERROR parameter for which. The
     GLU_ERROR value is	deprecated in GLU version 1.3 in favor of
     GLU_NURBS_ERROR.  All other accepted values for CallBackFunc are
     available only if the GLU version is 1.3 or greater.

SEE ALSO    [Toc]    [Back]

      
      
     gluErrorString, gluNewNurbsRenderer, gluNurbsCallbackData,
     gluNurbsProperty


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
gluquadriccallback IRIX define a callback for a quadrics object
glutesscallback IRIX define a callback for a tessellation object
gluQuadricCallback Tru64 define a callback for a quadrics object
gluTessCallback Tru64 define a callback for a tessellation object
glunurbscurve IRIX define the shape of a NURBS curve
glunurbssurface IRIX define the shape of a NURBS surface
gluNurbsSurface Tru64 define the shape of a NURBS surface
gluNurbsCurve Tru64 define the shape of a NURBS curve
gluDeleteNurbsRenderer Tru64 destroy a NURBS object
gludeletenurbsrenderer IRIX destroy a NURBS object
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service