I have recently taken to programming in Java with LWJGL. I have been following a tutorial series on how to make a game engine using this library. However, I have been getting a lot of errors despite the fact that I copied his code exactly, and later used the exact code he typed to troubleshoot. I asked him about it and he said that it was probably because my OpenGl was out of date. Sure enough, when I checked, I discovered that I was running OpenGL 2.1, and needed at least openGl 3.0 to follow his tutorial. I checked by typing System.out.println("OpenGL version: " + GL11.glGetString(GL11.GL_VERSION)); after my code that started the method to create the display. I received “OpenGL version: 2.1 NVIDIA-8.26.26 310.40.45f01” in the console. When I searched around on how to update my drivers, it said that you needed update your OS X. However, I am currently running the latest version of Mavericks, and have a 2012 retina Macbook Pro. According to this the apple help page, my particular model should be running OpenGL 4.1, not 2.1. How on earth could this have happened, and what do I need to do to update my drivers?
Apple’s OpenGL support is a bit odd.
They do support GL 4.1 - but only as core profile. If you need ANY compatibility features you will be stuck with 2.1.
And since the core profile was introduced in GL 3.2, it is impossible to get a GL 3.0 or 3.1 context. These 2 versions simply do not exist on MacOSX, and for some software this can be a major problem