In the header file, there are a lot of helper functions. For example:
Code: Select all
inline void COpenGLES1ExtensionHandler::extGlBindProgram(GLenum target, GLuint program)
{
#ifdef _IRR_OPENGL_USE_EXTPOINTER_
if (pGlBindProgramARB)
pGlBindProgramARB(target, program);
#elif defined(GL_ARB_vertex_program)
glBindProgramARB(target, program);
#else
os::Printer::log("glBindProgram not supported", ELL_ERROR);
#endif
}
Also, I've read who-knows-where that using external pointers is only needed when no support for the extension is available in the platform's gl.h file. Providing that, I cannot understand why anytime _IRR_OPENGL_USE_EXTPOINTER_ is defined, the usage of external pointers is preferred over using the actual function of the extension.