Java — LWJGL не может использовать OpenGL 3.2 или выше

Я хочу изучать современный OpenGL, поэтому я должен использовать версию 3.2 или выше.
Мои драйверы обновлены, и GPU Caps Viewer сообщает, что у меня версия 4.3.0.
Так что все должно быть хорошо.

Но я не могу получить доступ к этим версиям, ни в C ++, ни в Java, используя LWJGL.

призвание

System.out.println(glGetString(GL_VERSION));

выводит «2.1.0 — Build 8.15.10.2900» (то же самое относится и к C ++).

Итак, почему я не могу программировать с GL3.2, даже если мои драйверы используют GL4.3?
И как я могу это исправить?

2

Решение

Хорошо, поскольку это, похоже, проблема, связанная с Optimus, а не ошибка программирования, вам придется настроить Optimus так, чтобы она не использовала встроенную / встроенную ЦП графику для вашей программы. Если бы это было написано на C / C ++, вы могли бы просто добавить это вместе с main или же WinMain функционировать и покончить с этим:

extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

Но это работает в JRE, что не вариант. Я предлагаю вам прочитать эту заметку от NVidia по этому вопросу: http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

2

Другие решения


По вопросам рекламы [email protected]