Как более эффективно обновить точки TriangleMesh? - PullRequest
0 голосов
/ 19 сентября 2019

Итак, я работаю над созданием инструментария для 3D-моделирования в javafx.В этом инструментарии люди смогут загружать файлы моделей и пробовать анимацию на указанных моделях.

В настоящее время я разделяю каждую модель на группы объектов TriangleMesh, где каждая сетка в группе использует один и тот же материал.Затем у меня есть AnimationTimer, который упорядочивает кадры загруженной анимации и для каждого следующего кадра обновляет все измененные точки в каждом TriangleMesh.Однако частые обновления списков точек значительно снижают производительность программы.

Мне интересно, можно ли это оптимизировать?

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

1 Ответ

0 голосов
/ 19 сентября 2019

Наличие множества отдельных TriangleMeshes действительно очень неэффективно.Почему вы думаете, что вам это нужно?Если вы хотите применить разные текстуры к разным частям вашей модели, вы можете создать атлас текстур.Это позволит вам использовать один TriangleMesh для каждой модели, и это должно сделать вещи более эффективными.Насколько велико влияние ваших изменений координат, еще предстоит проверить.

...