glunurbscallback man page on Solaris

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
Solaris logo
[printable version]

GLUNURBSCALLBACK(3gl)					 GLUNURBSCALLBACK(3gl)

NAME
       gluNurbsCallback - define a callback for a NURBS object

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

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

       which	     Specifies the callback being defined.  Valid  values  are
		     GLU_NURBS_BEGIN_EXT,    GLU_NURBS_VERTEX_EXT,    GLU_NOR‐
		     MAL_EXT,	    GLU_NURBS_COLOR_EXT,	GLU_NURBS_TEX‐
		     TURE_COORD_EXT,   GLU_END_EXT,  GLU_NURBS_BEGIN_DATA_EXT,
		     GLU_NURBS_VERTEX_DATA_EXT,		  GLU_NORMAL_DATA_EXT,
		     GLU_NURBS_COLOR_DATA_EXT,			GLU_NURBS_TEX‐
		     TURE_COORD_DATA_EXT, GLU_END_DATA_EXT, and GLU_ERROR.

       CallBackFunc  Specifies the function that the callback calls.

DESCRIPTION
       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 tessella‐
       tor (when GLU_NURBS_MODE_EXT is set to be GLU_NURBS_TESSELLATOR_EXT) to
       return  back  the openGL polygon primitives resulted from the tessella‐
       tion. 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 gluNurbsCallbackDataEXT.

       The error callback function is effective no  matter  which  value  that
       GLU_NURBS_MODE_EXT  is set to.  All other callback functions are effec‐
       tive only when GLU_NURBS_MODE_EXT is set to GLU_NURBS_TESSELLATOR_EXT.

       The legal callbacks are as follows:

       GLU_NURBS_BEGIN_EXT
		 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_STRIPS,  GL_TRIANGLE_FAN,  GL_TRIAN‐
		 GLE_STRIP,  GL_TRIANGLES, or GL_QUAD_STRIP. The default begin
		 callback function is NULL. The function  prototype  for  this
		 callback looks like:
		 void begin ( GLenum type );

       GLU_NURBS_BEGIN_DATA_EXT
		 The  same  as the GLU_NURBS_BEGIN_EXT 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
		 gluNurbsCallbackDataEXT.  The default	callback  function  is
		 NULL. The function prototype for this callback function looks
		 like:
		 void beginData (GLenum type, void *userData);

       GLU_NURBS_VERTEX_EXT
		 The vertex callback indicates a vertex of the primitive.  The
		 coordinates  of  the vertex are stored in the parameter "ver‐
		 tex". 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_EXT
		 The  same as the GLU_NURBS_VERTEX_EXT 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
		 gluNurbsCallbackDataEXT.  The default	callback  function  is
		 NULL. The function prototype for this callback function looks
		 like:
		 void vertexData ( GLfloat *vertex, void *userData );

       GLU_NORMAL_EXT
		 The normal callback is invoked as the vertex normal is gener‐
		 ated.	The components of the normal are stored in the parame‐
		 ter "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.  The   default normal callback function is NULL.
		 The function prototype for this callback function looks like:
		 void normal ( GLfloat *normal );

       GLU_NORMAL_DATA_EXT
		 The same as the GLU_NURBS_NORMAL_EXT 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
		 gluNurbsCallbackDataEXT.   The	 default  callback function is
		 NULL. The function prototype for this callback function looks
		 like:
		 void normalData ( GLfloat *normal, void *userData );

       GLU_NURBS_COLOR_EXT
		 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_EXT
		 The  same  as the GLU_NURBS_COLOR_EXT 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
		 gluNurbsCallbackDataEXT.  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_EXT
		 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_MAP*_TEXTURE_COORD_1,  GL_MAP*_TEXTURE_COORD_2,
		 GL_MAP*_TEXTURE_COORD_3,  GL_MAP*_TEXTURE_COORD_4 where * can
		 be either 1 or 2).  If no  texture  map  is  specified,  this
		 callback  function  will  not be called.  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_EXT
		 The  same  as the GLU_NURBS_TEXTURE_COORD_EXT 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
		 gluNurbsCallbackDataEXT.  The default	callback  function  is
		 NULL. The function prototype for this callback function looks
		 like:
		 void texCoordData (GLfloat *texCoord, void *userData);

       GLU_END_EXT
		 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_END_DATA_EXT
		 The same as the GLU_NURBS_TEXTURE_COORD_EXT  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
		 gluNurbsCallbackDataEXT.   The	 default  callback function is
		 NULL. The function prototype for this callback function looks
		 like:
		 void endData ( void  *userData );

       GLU_ERROR 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.

SEE ALSO
       gluErrorString, gluNewNurbsRenderer

				   15 Mar 97		 GLUNURBSCALLBACK(3gl)
[top]

List of man pages available for Solaris

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net