JOGL-Swing-JavaFX

JOGL-Swing-JavaFX,swing,javafx,jogl,Swing,Javafx,Jogl,嗯 我有一份工作申请。我在其中使用了很多OpenGL功能,包括纹理、VBO、光线拾取等。我喜欢直接使用OpenGL,不想使用任何其他3D图形库 我想要实现两个目标: 我希望能够将这个JOGL应用程序嵌入到更大UI窗口的子集窗口中。因此,JOGL窗口旁边将有一个照片查看器、文本框和可滚动列表 我设计的这个应用程序运行在Windows10多点触摸硬件上 到目前为止,我发现: Java的Swing工具包是我嵌入JOGL窗口的唯一方法。然而,Swing看起来很旧,很过时 将多点触摸合并到swing中是可

我有一份工作申请。我在其中使用了很多OpenGL功能,包括纹理、VBO、光线拾取等。我喜欢直接使用OpenGL,不想使用任何其他3D图形库

我想要实现两个目标:

  • 我希望能够将这个JOGL应用程序嵌入到更大UI窗口的子集窗口中。因此,JOGL窗口旁边将有一个照片查看器、文本框和可滚动列表

  • 我设计的这个应用程序运行在Windows10多点触摸硬件上

  • 到目前为止,我发现:

  • Java的Swing工具包是我嵌入JOGL窗口的唯一方法。然而,Swing看起来很旧,很过时

  • 将多点触摸合并到swing中是可以做到的,但确实需要大量自定义手势检测。这很好,但可能存在不重新发明轮子的选项

  • JavaFX看起来很棒,我很想使用它,但我没有看到任何直接的方法将它与JOGL配对


  • 你们有什么建议吗?以前有人这样做过吗?

    您可以使用SwingNode将JOGL集成到JavaFX应用程序中。 相反的情况(将一些JavaFX集成到Swing应用程序中)也是可能的,但我不想重复


    以这种方式进行JOGL集成的性能不如本机OpenGL窗口,但对于许多应用程序来说,这就足够了。

    我不知道它是否适合您的第一步,但您尝试过吗?@elect NEWT只在某些平台下支持多点触摸,当然是在Android下。Hmmmm。我会调查的。从没听说过纽特。似乎是一个很好的性能选择。目前我正在使用Swing的GLJPanelIt的最简单的方法。我建议您看看这个bug报告:我已经尝试总结了我们所有支持OpenJFX/JavaFX和JOGL之间某种互操作性的尝试。在使用它们打包应用程序时,需要记住一些微妙的事情,特别是在不使用Java1.9的情况下。@mipa-Ya,我已经开始研究这个问题了。无论您使用Swing还是JavaFX,似乎都无法获得与本机OpenGL一样的性能。两者都有一定的抽象层次。现在我正在使用GLJPanel,它非常快。我将进行更多研究,并在这里回复。