On Wed, Oct 30, 2013 at 6:58 AM, Chris Bagley chris.bagley@gmail.comwrote:
We use runtime compiling to create our wrappers in case functionality is not present.
Runtime compilation is more of an optimization, we could store the function pointers in a closure or global array or something instead (and in fact probably should store them differently to be handle multiple drivers on windows correctly, but making that correct/efficient would probably be harder even though not many people would need it.)
That is great, but how do more static languages that don’t have this kind
of control handle multiple versions of opengl?
In C/C++ you can call a function pointer exactly the same way as a normal
function, so they usually just define a bunch of function pointers for the extension functions and initialize them all at once. Most people probably use a library like GLEW or GLEE for that.