I was reading this tutorial on how to set the OpenGL version to 3.2 here:
http://lwjgl.org/wiki/index.php?title=Version_selectionThe code in my display creation before this error became a problem was:
public static void createDisplay()
{
try
{
Display.setDisplayMode(new DisplayMode(width, height));
Display.setVSyncEnabled(true);
Display.setTitle(Main.title);
Display.create();
}
catch (LWJGLException e)
{
e.printStackTrace();
}
System.out.println("OS: " + System.getProperty("os.name"));
System.out.println("OS Version: " + System.getProperty("os.version"));
System.out.println("LWJGL Version: " + org.lwjgl.Sys.getVersion());
System.out.println("OpenGL Version: " + GL11.glGetString(GL11.GL_VERSION));
}
The only change I made was context attributes and pixel format:
public static void createDisplay()
{
PixelFormat pf = new PixelFormat();
ContextAttribs ca = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true);
try
{
Display.setDisplayMode(new DisplayMode(width, height));
Display.setVSyncEnabled(true);
Display.setTitle(Main.title);
Display.create(pf, ca);
}
catch (LWJGLException e)
{
e.printStackTrace();
}
System.out.println("OS: " + System.getProperty("os.name"));
System.out.println("OS Version: " + System.getProperty("os.version"));
System.out.println("LWJGL Version: " + org.lwjgl.Sys.getVersion());
System.out.println("OpenGL Version: " + GL11.glGetString(GL11.GL_VERSION));
}
The OpenGL version is printed as 3.2 instead of my driver's 4.3, which is good. The problem is when I start referencing OpenGL functions like glMatrixMode()
Error code:
Exception in thread "main" java.lang.IllegalStateException: Function is not supported
at org.lwjgl.BufferChecks.checkFunctionAddress(BufferChecks.java:58)
at org.lwjgl.opengl.GL11.glMatrixMode(GL11.java:2075)
This wasn't a problem before the change stated, so I know it has to do with changing the OpenGL context. I haven't been able to find any solutions online after a few days of research. There was one post I read on stackoverflow where a guy had the same problem, but it was completely ignored. Does anyone have any idea what could be causing this? I'm using LWJGL v2.9.1