Reputation: 10115
I need glGenerateMipmap* function, but I would like to know if there are any differences between:glGenerateMipmap
and glGenerateMipmapEXT
?
I understand that EXT was before ARB so EXT version should work on older hardware? Are there any differences in behavior?
another question:
Can I use:
myGLGenerateMipmap = loadProcAddress("glGenerateMipmap")
or I should check support for the GL_EXT_framebuffer_object
first?
please note that I would not like to use GLEW/GLEE or any other libraries...
Upvotes: 0
Views: 1770
Reputation: 43319
Up until OpenGL 3.0, this function was not a part of the OpenGL spec. proper. The version that is included in OpenGL 3.0 is actually derived from the GL_ARB_framebuffer_object
specification.
If your driver lists the GL_ARB_framebuffer_object
extension, or you know you have a legitimate OpenGL 3.0+ implementation, you are guaranteed to have this functionality through the proc. address glGenerateMipmap
. This is the procedure you shoud use, in such a case.
glGenerateMipmapEXT
comes from the awful EXT version of the FBO specification. I would avoid it like the plague, unless you have neither OpenGL 3.0 nor GL_ARB_framebuffer_object
. You will not have this procedure either, however, if your driver does not report GL_EXT_framebuffer_object
.
This is where extension wranglers make life easier... but I can see not wanting to add another dependency to your software. You are going to have to study up on the art of reading extension specifications and follow the version change history on the OpenGL® Registry
Upvotes: 3