2013-08-17 2 views
1

Для 3D-графического приложения часто используется граф сцены для упорядочивания элементов в группы и узлы. График сцены - это дерево.Насколько логичный граф сцены и структура пространственных данных работают вместе?

Но для визуализации эффективности, мы также должны использовать пространственную структуру данных, как Octree, R-Tree и т.д.

Я задаюсь вопросом, как современная система объединить эти два вместе? Есть ли рекомендуемый способ?

ответ

1

Мне интересно, как современная система объединяет эти два вместе? Есть ли там какой-либо рекомендуемый способ?

Это действительно зависит от ситуации, и я не думаю, что существует универсальный способ сделать это.

Иногда использование другой структуры разбиения является хорошей идеей, например простой граф сцены, который разлагает объект на логически значимые объекты, используется для анимации, а для рендеринга используется BVH, который видит только суп треугольника.

Система может иметь различные инструменты; каждая из них использует наиболее удобную структуру, такую ​​как BSP для инструмента проектирования уровня, kd-дерево для расчета световой карты, порталы для реального времени, создаваемые закрытой средой, а затем octrees в открытых пространствах.

Сочетание такой же структуры пространственного разделения для разных вещей, как столкновения и рендеринг, может увеличить производительность и уменьшить память. Однако в современной системе хорошие комбинации часто упускаются из-за того, что система использует различное промежуточное ПО, а некоторые из них не раскрывают свою структуру секционирования и не поддерживают ее.

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