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

Reply via email to