[osg-users] Call for feedback : glu.h does it contain _GLUfuncptr?

Andy Skinner Andy.Skinner at mathworks.com
Mon Oct 1 10:01:31 PDT 2007


Although I sent stuff that started this, let me be specific.  Here are
maci with the glu.h we use, and a bit about glu.h we don't use.  Here
are also linux 32 bit and solaris 64 information.  I get the info from
building Tessellator.i.


On our Intel Mac build using CMake, we are getting
/System/Library/Frameworks/OpenGL.framework/Headers/glu.h

gluTessCallback is declared as:
extern void gluTessCallback (GLUtesselator* tess, GLenum which, GLvoid
(*CallBackFunc)());

The line that doesn't compile is:
    gluTessCallback(_tobj, 100107, (GLvoid (*)(...)) vertexCallback);

I think ... comes from the bit in GLU.


========


There is another glu.h in /usr/include/X11R6/GL, but we aren't using it.
It defines gluTessCallback as:
extern void gluTessCallback (GLUtesselator* tess, GLenum which,
_GLUfuncptr CallBackFunc);

and _GLUfuncptr as:
/* Internal convenience typedefs */
#ifdef __cplusplus
typedef GLvoid (*_GLUfuncptr)();
#else
typedef GLvoid (*_GLUfuncptr)(GLvoid);
#endif


========


Our 32-bit linux uses /usr/include/GL/glu.h.
It declares gluTessCallback as:
extern void gluTessCallback (GLUtesselator* tess, GLenum which,
_GLUfuncptr CallBackFunc);

and _GLUfuncptr as:
typedef void ( * _GLUfuncptr)();

The line that is failing is:
    gluTessCallback(_tobj, 100107, (GLvoid (*)()) vertexCallback);


========


And on Solaris I get /usr/include/GL/glu.h.
gluTessCallback is:
extern void gluTessCallback ( GLUtesselator * tess , GLenum which ,
GLvoid ( * CallBackFunc ) ( ) ) ;

The failing line is:
 gluTessCallback ( _tobj , 100107 , ( GLvoid ( * ) ( ) ) vertexCallback
) ;


andy




More information about the osg-users mailing list