JavaFX 2D在3D空间中塑造

bea*_*u13 2 2d javafx polyline javafx-8 javafx-3d

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

假设我有一个3D场景(使用透视摄像头和深度缓冲器),其中MeshView出现各种s.有些用于区域,有些用于线路.在这两种情况下,这些形状必须进行三角测量,以便用a绘制它们TriangleMesh,这通常是非常重要的.

现在,当我改变这些线的绘图以使用Polyline该类时,性能崩溃是可怕的,并且有一些奇怪的文物.我认为我可以从以下事实中受益:折线具有较少的顶点,并且开发人员不必以编程方式进行三角测量.

不鼓励使用javafx.scene.shape.Shape在3D空间内延伸的形状吗?他们是如何在内部绘制的?

小智 5

如果问题是"我应该在3D空间中使用2D Shape对象吗?" 在JavaFX中,答案是否定的,因为您将获得所有可怕的性能.然而,听起来您正在尝试弥补JavaFX缺少使用2D对象并在3D空间中旋转它们的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