【问题标题】:JavaFX 2D shapes in 3D space3D 空间中的 JavaFX 2D 形状
【发布时间】:2014-05-19 11:56:17
【问题描述】:

我知道,如果我旋转一个扩展 javafx.scene.shape.Shape 的对象,我可以将其转换为 3D 空间,即使它最初设计为 2D 空间(至少据我所知)。

假设我有一个 3D 场景(使用透视相机和深度缓冲区),其中出现了各种 MeshViews。有些用于区域,有些用于线。在这两种情况下,必须对这些形状进行三角剖分才能使用TriangleMesh 绘制它们,这通常很重要。

现在,当我将这些线条的绘制更改为使用 Polyline 类时,性能崩溃非常可怕,并且出现了奇怪的伪影。我想我可以受益于这样一个事实,即折线的顶点更少,并且开发人员不必以编程方式进行三角测量。

是否不鼓励在 3D 空间中使用扩展 javafx.scene.shape.Shape 的形状?内部是如何绘制的?

【问题讨论】:

    标签: javafx 2d javafx-8 polyline javafx-3d


    【解决方案1】:

    如果问题是“我应该在 3D 空间中使用 2D Shape 对象吗?”在 JavaFX 中,答案是否定的,因为您将获得所看到的所有糟糕的性能。但是,听起来您正在尝试使用 2D 对象并在 3D 空间中旋转它们来弥补 JavaFX 缺少 3D PolyLine 对象的缺陷。如果是这样,请改用免费的开源 F(X)yz 库:

    http://birdasaur.github.io/FXyz/

    例如 PolyLine3D 类,它允许您简单地指定 Point3D 的列表,它会为您连接它们:

    /src/org/fxyz/shapes/composites/PolyLine3D.java

    您可以在测试目录中查看有关如何使用它的示例代码:

    /src/org/fxyz/tests/PolyLine3DTest.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      • 2014-10-09
      • 1970-01-01
      相关资源
      最近更新 更多