Lord Satan wrote: > > Nonetheless, I don't understand why the ARB version does not work. > AFAIK it has the same entry points as the core functionality and > OpenGL versions are required to support the ARB version of functions > even if the non ARB version is in the core now. >
No. OpenGL doesn't have to support the extension entry points, even when it supports the same functionality in core already. Vendor is free to remove the extensions, and support only the "core" functions. Also, sometimes when functionality is promoted from ARB extension into core it's slightly changed (although in 99% cases it stays the same). Example is the GLSL shaders, that expose (very slightly) different API through ARB extensions and through core 2.0 specification. Basically, what is exposed through extensions is completely orthogonal to what is exposed through core functionality, so they should be initialized separately. In particular cases, you can make tricks like if glIsBufferARB = nil then glIsBufferARB := @glIsBuffer; but this should be left to the final programmer that knows that "ARB_vertex_buffer_object" behavior is identical to how it works in core. Michalis _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal