Yeah that’s clear but there is no
GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
defined in gl3.h.
Of course it doesn’t. Because gl3.h contains what is in GL 3.x core. Just like gl.h has what’s in GL 1.1 core. For extensions (because they’re not core), you just include glext.h, which has all of the extensions.
something like “gl3ext.h”
similiar to the old glext.h.
And how would this header be different from glext.h?
In contrast to glext.h the “gl3ext.h” would not contain
deprecated stuff like glUseProgramObjectARB which
was renamed to glUseProgram in OpenGL 2.0.
Or more general “gl3ext.h” should only include REAL
extensions to OpenGL 3.X core and not extensions
which are already core since 2.X like in my
example above.
Please correct me but the gl3.h was introduced to get rid
of all the deprecated stuff, right? Including the glext.h
would somehow ruin this good attempt.
In contrast to glext.h the “gl3ext.h” would not contain
deprecated stuff like glUseProgramObjectARB which
was renamed to glUseProgram in OpenGL 2.0.
“Deprecated” does not mean “removed”. It means that it may be removed in the future. For example, glVertex was deprecated in GL 3.0, but it was still available for use in 3.0. It was still part of the 3.0 specification. It was not removed until 3.1.
Second, no extension has been deprecated or removed. Extensions are purely optional, with availability explicitly advertised by the GL implementation. If your extension advertises the GL_ARB_shader_objects extension, then glUseProgramObjectARB had better be defined. And since there is code out there that relies on the shader objects extension, it’s going to be around for a while.
Or more general “gl3ext.h” should only include REAL
extensions to OpenGL 3.X core and not extensions
which are already core since 2.X like in my
example above.
Who defines what constitutes “real extensions?” If you need such a header so badly, come up with your own definition and generate the header file yourself from the .spec files.
Extensions which are already core since 2.0 should not be
part of a “gl3ext.h” header file because they do not extend
OpenGL 3.X’s functionality. Anyway since this file does
not exist and my sight seems to be wrong I’ll continue to
define stuff like GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT myself.
Hey guys, just a small tip… The most current versions of glext.h exclude many former-core-now-deprecated entry points and enums if you define these preprocessor symbols: