Использование SWT с OpenGL, но НЕ с JOGL / LWJGL и т. Д. - PullRequest
1 голос
/ 27 июня 2011

У нас есть Java-приложение с библиотекой 2D-графики, которая использует OpenGL на нативной стороне C ++. Мы делаем вызовы JNI в DLL. Теперь меня попросили заставить OpenGL работать на стороне приложения SWT, но воздерживаться от использования JOGL или LWJGL или любой другой сторонней привязки GL. Можно ли это сделать и как?

1 Ответ

1 голос
/ 27 июня 2011

OpenGL - это C API, реализованный в opengl32.dll (или аналогичный в unix), поэтому вам придется использовать его так или иначе.

IIRC, чтобы вызываться из Java, функции в dll должны называться "Java_Classname_Functionname", что, очевидно, не относится к функциям openGL.

Если вы действительно, действительно хотите избежать LWJOGL, вам придется создать свою собственную C DLL, которая заново объявляет все функции openGL с другой сигнатурой (что-то вроде Java_MYJOGL_glClearColor вместо glClearColor) и которая просто вызывает glClearColor ...

Именно это и делает LWJGL (а также занимается созданием контекста для конкретной платформы и другими вещами).

Если ваша компания стремится избегать больших неизвестных библиотек, что вполне понятно, я бы посоветовал вам придерживаться LWJGL, который меньше, чем JOGL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...