javafx 3d性能大数据集 [英] javafx 3d performance large data set
问题描述
我的数据集折衷了一百万个长方体。我使用TriangleMesh将其渲染为单个节点。这似乎没问题,轮换很快。但是我也想对它进行切片,所以我实现了代码来重新计算面并应用它们。它有效,但有点慢 - 不是在计算面部索引,而是在渲染中。
每个长方体由12个三角形组成
然后,我尝试为每个长方体设置一个单独的节点,并将节点设置为可见/不可见。表现非常糟糕。
任何想法?要了解我在说什么,请查看
目前我们还没有切片算法。欢迎您提供帮助。
I have a data set which compromises of the order of a million cuboids. I render it as a single node, using TriangleMesh. This seems OK, rotation is fast. But I also want to do slicing of it, so I implemented code to recalculate the faces and apply these. It works, but is a bit slow - not in calculating the faces indices, but it seems in the rendering.
Each cuboid consists of 12 triangles
I then tried it with having a separate node for each cuboid, and setting the nodes visible/invisible. Performance of this was horrible.
Any ideas? To get an idea of what I am talking about, take a look at
http://www.peclouds.com/node/1
Do you know the FXyz library? It has several new 3D complex shapes, along with complex texturing options, to enable contour plots, for instance.
Have a look also at the Sampler, to explore all of the options.
Some of the lastest (uncommitted) developments in the library are ScatterMesh
and TetrahedraMesh
.
We can read data from files, with every line containing {x,y,z,f}
data, and create a tetrahedron for that point (x,y,z), using only 4 triangles (4 points and 4 faces). And we set the density color according to f
.
We can add every tetrahedron as a node, and have a full group of nodes, which is only valid for small number of nodes, or we could create one single mesh, as you said, by adding every new tetrahedron to this mesh. That is really fast, and I've managed to read several millions of data points.
This mesh has 1 million of tetrahedra, or 4 million of triangles:
For now we don't have a slicing algorithm. You are welcome to contribute with it.
这篇关于javafx 3d性能大数据集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!