In the OpenGl-loader I've used (GLLoaderGenerator, GLEW) the header looks something like:
extern void (CODEGEN_FUNCPTR *_ptrc_glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei);
#define glBindVertexBuffer _ptrc_glBindVertexBuffer
... ok, GLEW hides this behind a couple of macros, but it results in pretty much the same.. So my question is - Is there a particular reason to define a function pointer with some name (_ptrc_XXX) and the #define the name I do want to use? Why not simply using:
extern void (CODEGEN_FUNCPTR *glBindVertexBuffer)(GLuint, GLuint, GLintptr, GLsizei);
#defineis just a rename, it would work in this case. - Bartek Banachewicz