2016-05-20 2 views
2

Я размещаю здесь, потому что я очень новичок в LWJGL, и у меня возникают некоторые проблемы с ним. Согласно Apple, компьютер, который я использую, должен работать с OpenGL 4.1, однако, когда я запрашиваю версию, он говорит OpenGL: 2.1 INTEL-10.6.31, а затем я получаю сообщение об ошибке для попытки использовать функции, доступные только с OpenGL 3.0.Неверная версия OpenGL сообщается

Вот ссылка на Apple's page, о том, что компьютер я использую, 2014 MacBook Air, должны иметь OpenGL 4.1

код я использую, чтобы найти вариант:

GL.createCapabilities(); 
System.out.println("OpenGL: " + glGetString(GL_VERSION)); 

Надеюсь, кто-то знает, что здесь происходит.

ответ

4

Хорошо, поэтому я сделал кучу больше копания и обнаружил, что OSx по умолчанию использует GL 2.1, даже если у него установлено более новое программное обеспечение. Кажется, это глупо, но так оно и работает.

Если кто-то из вас, ребята, столкнулся с этой проблемой, решение, которое я нашел, это поставить эти строки кода, прежде чем создавать окно. Я не уверен, что вы должны сделать это тогда, однако, что это то, что работает для меня:

glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); 
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); 
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1); 

Надеется, что это помогает кому-то там делу с этим.

Link to where I found this solution.

Если у кого-то есть лучшее решение или разъяснение о том, как это работает, мне было бы интересно услышать от вас.

Cheers!

Смежные вопросы