As part of the learning process I have been looking at the source-code for glTrace.
Many definitions use the word GLAPIENTRY as in :-
GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
On my system (in gl.h) I can only find WINGDIAPI and APIENTRY as in :-
WINGDIAPI void APIENTRY glAccum (GLenum op, GLfloat value);
What on earth do these definitions mean and why the four variations (in bold type) ?
The only clue is in gl.h provided with glTrace (not the Microsoft gl.h) which states :-
if defined(_MSC_VER) && defined(BUILD_GL32) /* tag specify we’re building mesa as a DLL */
define GLAPI __declspec(dllexport)
elif defined(_MSC_VER) && defined(_DLL) /* tag specifying we’re building for DLL runtime support */
define GLAPI __declspec(dllimport)
else /* for use with static link lib build of Win32 edition only */
define GLAPI extern
endif /* _STATIC_MESA support */
define GLAPIENTRY __stdcall
#else
/* non-Windows compilation */
define GLAPI extern
define GLAPIENTRY
#endif /* WIN32 / CYGWIN bracket */
I have no idea what any of GLAPI, GLAPIENTRY, WINGDIAPI or APIENTRY mean .
David Sykes