javafx 3d производительность большой набор данных

У меня есть набор данных, который компрометирует порядка миллиона кубоидов. Я представляю его как один узел, используя TriangleMesh. Это кажется нормальным, вращение быстрое. Но я также хочу сделать нарезку, поэтому я реализовал код, чтобы пересчитать лица и применить их. Это работает, но немного медленно - не в расчете индексов лиц, а в рендеринге.

Каждый кубоид состоит из 12 треугольников

Затем я попытался создать отдельный узел для каждого кубоида и установить узлы видимыми / невидимыми. Производительность это было ужасно.

Есть идеи? Чтобы понять, о чем я говорю, взгляните на

http://www.peclouds.com/node/1

1 ответ

Вы знаете библиотеку FXyz? Он имеет несколько новых сложных трехмерных фигур, а также сложные параметры текстурирования, например, для создания контурных графиков.

Взгляните также на Sampler, чтобы изучить все варианты.

Некоторые из последних (незавершенных) разработок в библиотеке: ScatterMesh а также TetrahedraMesh,

Мы можем читать данные из файлов, каждая строка содержит {x,y,z,f} данных и создайте тетраэдр для этой точки (x,y,z), используя только 4 треугольника (4 точки и 4 грани). И мы устанавливаем цвет плотности в соответствии с f,

Мы можем добавить каждый тетраэдр как узел и иметь полную группу узлов, что допустимо только для небольшого числа узлов, или мы могли бы создать одну отдельную сетку, как вы сказали, добавив каждый новый тетраэдр в эту сетку. Это действительно быстро, и мне удалось прочитать несколько миллионов точек данных.

Эта сетка содержит 1 миллион тетраэдров или 4 миллиона треугольников:

Scatter 1M

Пока у нас нет алгоритма нарезки. Вы можете внести свой вклад в это.

Другие вопросы по тегам