gpt4 book ai didi

3D 空间中的 JavaFX 2D 形状

转载 作者:行者123 更新时间:2023-12-01 19:05:10 26 4
gpt4 key购买 nike

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

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

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

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

最佳答案

如果问题是“我应该在 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

关于3D 空间中的 JavaFX 2D 形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23737119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com