OpenGL Extensions

Hey JGO,

So legacy has it that different things are supported through extensions. I have a few questions, as I need to actually implement one for the first time.

Should I have two seperate jars, one for extension based rendering and another for non-extension based rendering. The reason for this comes down to I need to support a game on a computer with OGL 2 and Shader version 1.2

Is there any difference or overhead for using extension based rendering over the bindings lwjgl has which are native to opengl?

As per the library of extensions in LWJGL, what classes am I looking to be using and are there any naming conventions I should be aware of?

Thanks in advanced! ;D

There is no overhead difference, its just like calling a core version method. The difference between core and extensions is the supportability. Graphics card vendors / os vendors don’t need to support all of the extensions, some are vendor specific.

I don’t think you need 2 jars, you just need to check to see if an extension you need is supported and if it is you can then use it.

Me personally, I stick to core product functionality. I then just need to stipulate the version of opengl required (for which nearly all graphics cards would support now anyway)

This link has a useful breakdown of all the extension prefix’s and what they represent.

https://www.opengl.org/wiki/OpenGL_Extension

Thanks for the clarifying response about the overhead.

My fear with not using two jars is a plethora of if statements possibly being called each frame, as far as procedural goes. Of course there is always polymorphism to solve that.

I never had any reason to use extensions, but as GL states, EXT and ARB are for compatibility. There are also vendor gfx bonuses, which I find strange, but nonetheless is appropriate. I guess its a boost for people who make for themselves.

I’ve done some light research on naming conventions on the OGL side, but I was wondering about common classes and naming conventions used in LWJGL. GLContext, for example, holds booleans to check for extension supportability.