【问题标题】:Using SWT with OpenGL but NOT with JOGL/LWJGL etc将 SWT 与 OpenGL 一起使用,但不与 JOGL/LWJGL 等一起使用
【发布时间】:2011-06-27 14:29:45
【问题描述】:

我们有一个带有 2D 图形库的 Java 应用程序,它在本机 C++ 端利用 OpenGL。我们将 JNI 调用放入 DLL。现在我被要求让 OpenGL 在应用程序的 SWT 端工作,但不要使用 JOGL 或 LWJGL 或任何其他第 3 方 GL 绑定。这可以做到吗?如何做到?

【问题讨论】:

    标签: java opengl swt


    【解决方案1】:

    OpenGL 是在 opengl32.dll(或在 unix 上类似)中实现的 C API,因此您必须以一种或另一种方式使用它。

    IIRC,为了从 Java 中调用,dll 中的函数必须称为“Java_Classname_Functionname”,这显然不是 openGL 函数的情况。

    如果您真的非常想避免使用 LWJOGL,则必须创建自己的 C DLL,该 DLL 使用另一个签名(类似于 Java_MYJOGL_glClearColor 而不是 glClearColor)重新声明所有 openGL 函数,并且仅调用 glClearColor...

    这是 LWJGL 已经在做的事情(并且还处理特定于平台的上下文创建和其他东西)。

    如果您的公司担心的是避免大型未知库,这是完全可以理解的,我建议您坚持使用 LWJGL,它比 JOGL 更小。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 2019-02-21
      • 2011-07-10
      • 2018-05-11
      • 2023-04-02
      相关资源
      最近更新 更多