fen
fen

Reputation: 10115

glGenerateMipmap or glGenerateMipmapEXT

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

Answers (1)

Andon M. Coleman
Andon M. Coleman

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

Related Questions