Я пытаюсь заставить SWT работать с новейшей версией JOGL (2.0).
Я пробовал фрагмент SWT 209 , но он не работает. Проблема вызвана следующей строкой:
final GLContext context = GLDrawableFactory.getFactory().createExternalGLContext();
... но когда я меняю getFactory()
на getFactory(GLProfile.getDefault())
(чтобы сделать его совместимым с новым API), он падает на createExternalGLContext()
с javax.media.opengl.GLException: Error: current context null
. Я не понимаю это сообщение: я пытаюсь создать новый контекст, и он жалуется, что текущий является нулевым. Почему?
Может быть, есть какой-то другой способ создать GLContext
?
Или, может быть, можно использовать GLEventListener
с SWT GLCanvas
?
PS. Я разместил мою модифицированную версию фрагмента здесь .
Редактировать: теперь я понимаю сообщение об ошибке. Документация говорит:
Базовый контекст OpenGL должен быть текущим в текущем потоке на момент вызова этого метода.
Как создать первый GLContext
?