glewExperimental

hi,

What is it about glewExperimental? It’s the magic ingrediens for things that doesn’t work, but where’s the difference between ordinary GLEW and glewExperimental? Is it some shady functionallity that does not thrive on ordinary code-transparancy?

cheers CarstenT

Looking through the source code of glew.c, we see that extensions are loaded as per the following example:

#ifdef GL_ARB_buffer_storage
    GLEW_ARB_buffer_storage = _glewSearchExtension ("GL_ARB_buffer_storage", extStart, extEnd);
    if (glewExperimental || GLEW_ARB_buffer_storage) GLEW_ARB_buffer_storage = !_glewInit_GL_ARB_buffer_storage (GLEW_CONTEXT_ARG_VAR_INIT);
#endif /* GL_ARB_buffer_storage */

Here _glewSearchExtension first searches the extension string, then _glewInit_GL_ARB_buffer_storage loads the entry points for the extension.

So what glewExperimental does is allow extension entry points to be loaded even if the extension isn’t present in the driver’s extensions string.

mhagain,
thanks for the concise reply.