JavaFX GUI,复杂3D图形的最简单方法

时间:2014-12-27 21:44:20

标签: swing opengl javafx jogl javafx-3d

我正在创建一个使用Swing和OpenGL(使用JOGL)计算变速箱零件的软件。 使用该软件,计算出的部件以3D显示。下图显示了一个示例部分:

PGS

首先指定/计算几何(尖端/根直径,宽度,齿数......),并且在该数据之外创建3D零件。这个示例部分是使用JOGL-Code制作的,因为它易于使用,并且可以集成到Swing-GUI中。

现在用JavaFX应用程序GUI进行了一些操作,并决定继续在JavaFX中制作我的软件,因为它提供了我需要的一切,看起来更好等等。问题是我无法使用我的JOGL-OpenGL图形。

所以这是我的可能性:

  • 搜索在JavaFX应用程序中集成OpenGL图形的方法 - 但我搜索了一下,这似乎非常困难,可能的解决方案似乎非常慢。
  • 使用JavaFX集成的3D图形(TriangleMesh) - 但这很难理解,我找不到好的例子来学习它。
  • 还有其他解决方案吗?

你能帮我找一个好的解决方案吗?你会怎么做?我最喜欢的是继续使用OpenGL,但是有什么好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

如果您正在寻找一些可以帮助您确定其已经成熟的JavaFX 3D资源,可以使用这些资源,其中包括:

  • 来自OpenFJX项目的3DViewer here
  • InteractiveMesh importersbrowser
  • F(X)yz,一个新的JavaFX 3D库,提供基础JavaFX 8 3D软件包所没有的其他基元,复合对象,控件和数据可视化。
  • Multimodel3DFX,存储库包含2014年11月/ Dicember上发表在Oracle Java Magazine上的文章“在天空中构建城堡。使用JavaFX 3D建模历史宝藏”中显示的示例代码。

使用F(X)yz的PolyLine3D和Multimodel3DFX plaftorm我能够挤出正齿轮的2D折线,这样你就可以看到它在JavaFX 3D子场景中的呈现方式:

Spur Gear

这些也是使用F(X)yz库生成的数学3D模型,所有这些都基于TriangleMesh

3D shapes

正如您所看到的,JavaFX 3D API及其优缺点可以轻松扩展,以实现复杂的任务。