如何更有效地更新TriangleMesh的点?

How to update points of TriangleMesh more efficiently?

所以我正致力于在 javafx 中创建 3D 建模工具包。在此工具包中,人们将能够加载模型文件并在所述模型上试用动画。

目前我将每个模型拆分为 TriangleMesh 对象组,其中组中的每个网格使用相同的 material。然后我有一个 AnimationTimer,它对加载动画的帧进行排序,并为每个下一帧更新每个 TriangleMesh 中的所有更改点。然而,频繁更新点列表会大大降低程序的性能。

请问是否可以优化?

我有一些想法,其中一个我认为为每个模型设置一个 TriangleMesh 可能会有所帮助(尽管这是有问题的,因为我无法设置单个面孔的 material),但这仍然给我留下了如此频繁地更新可观察点列表的开销。

有很多单独的三角形网格确实效率很低。为什么你认为你需要那个?如果您只是想将不同的纹理应用于模型的不同部分,那么您可以创建一个纹理图集。这将允许您为每个模型使用一个 TriangleMesh,这应该会提高效率。你的坐标修改的影响有多大还有待考证