Sparse Voxel Octree

Sparse Voxel Octree
Построение воксельного октодерева

Sparse Voxel Octree (SVO, рус. Разреженное воксельное октодерево) — программная технология, позволяющая делать эффективную детализацию визуализируемых объектов и эффективную обработку облаков точек.

SVO — регулярная иерархическая структура данных, в основе которой лежит регулярная трёхмерная сетка. Первый узел дерева — корень, является кубом, содержащим весь объект целиком. Каждый узел или имеет 8 потомков или не имеет никаких потомков. Эти 8 потомков формируют 2×2×2 регулярных подразбиения родительского узла. Узел с потомками называют внутренним узлом, узел без потомков называют листом. В результате всех подразбиений получается регулярная трёхмерная сетка вокселей, однако, не все воксели содержат части объекта, поэтому в созданном дереве такие воксели не будут содержаться, то есть дерево будет разреженным. Для того, чтобы каждый раз не обрабатывать пустой воксел — вместо сетки используется октодерево, оно также имеет информацию об индексации вокселей и позволяет оптимальным образом находить соседей вокселя и другую информацию.

Использование

Графическая подсистема игрового движка id Tech 6 разработки американской компании id Software будет использовать технологию SVO для визуализации статических объектов, состоящих из вокселей, методом рейкастинга. Благодаря SVO будет обеспечен полностью автоматический Level of Detail. SVO будет работать параллельно с другой эксклюзивной технологией id Software — мегатекстурой.

«Sparse Voxel Octree» в качестве структуры данных используется в игровом движке «CryEngine 3» немецкой компании Crytek. В отличие от своего классического назначения, в «CryEngine 3» SVO служит не для хранения вокселей, а для хранения полигонов и «запеченных» геометрии и текстур уровня во время его экспорта. Crytek отдала предпочтение технологии SVO, так как она, в отличие от виртуальных текстур, не требует вычислений на графическом процессоре, обеспечивает автоматическое и корректное создание уровней детализации (LOD), предоставляет возможность создания адаптивных геометрических и текстурных деталей в зависимости от геймплея, а также благодаря ей очень легко управлять геометрией и текстурами и производить их «стриминг» (подгрузку в реальном времени во время работы приложения). Вместе с тем было отмечено большое требование к объёму памяти для SVO. Для ликвидации этого недостатка Crytek использовала агрессивное сжатие текстур и применяла SVO не для всего уровня, а лишь для определённых его частей.[1]

Согласно Crytek, «Sparse Voxel Octree», наряду с «Sparse Surfel Octrees», может стать одной из ключевых технологий хранения и представления данных в компьютерной графике реального времени в будущем. Были выделены её основные преимущества и недостатки.[1]

Преимущества[1]:
  • SVO как структура данных ориентирована в будущее и подходит для альтернативных методов рендеринга;
  • очень хорошо подходит для уникальных геометрии и текстур, что будет актуальным в будущем, так как бюджеты на геометрические объекты и текстуры утрачивают свою актуальность;
  • Обеспечивает истинную свободу для художников;
  • Естественным образом автоматически реализует схему уровня детализации;
  • Хорошо подходит для трассировки лучей.
Недостатки[1]:
  • SVO не имеет ни инфраструктуры, ни специализированного аппаратного обеспечения;
  • имеет большие требования к памяти;
  • все ещё слишком медленная.

Примечания

  1. 1 2 3 4 Джеват Ерли, Антон Капланян Future graphics in games  (англ.) (PPT). Crytek (25 июня 2010 года). — Доклад (презентация), представленный на конференции High Performance Graphics Conference 2010, в котором описываются прошлые и текущие на момент доклада технологии, изобретённые и используемые Crytek, а также рассказывается о перспективных технологиях и подходах, которые появятся в компьютерной графике реального времени в будущем.. Проверено 15 августа 2011.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Sparse Voxel Octree" в других словарях:

  • Octree — Left: Recursive subdivision of a cube into octants. Right: The corresponding octree. An octree is a tree data structure in which each internal node has exactly eight children. Octrees are most often used to partition a three dimensional space by… …   Wikipedia

  • Воксел — Воксельная модель. Один воксел соответствует одному кубику …   Википедия

  • Unlimited Detail — Эта статья или секция статьи содержит информацию о запланированном или ожидаемом будущем программном обеспечении, которое в настоящий момент находится в разработке. Содержание статьи может изменяться по …   Википедия

  • MegaTexture — refers to a texture allocation technique facilitating the use of a single extremely large texture rather than repeating multiple smaller textures. It is featured in Splash Damage s game Enemy Territory: Quake Wars and was developed by id Software …   Wikipedia

  • Октодерево — Слева: Рекурсивное разделение куба на октанты. Справа: Соответствующее октодерево …   Википедия

  • MegaTexture — MegaTexture, auch Mega Texture, bezeichnet eine Technik der texture allocation, die es erleichtert, eine einzelne große Textur zur Verkleidung eines virtuellen Geländes heranzuziehen. Inhaltsverzeichnis 1 Einleitung 2 Technik 3 Zukünftige… …   Deutsch Wikipedia

  • Id Tech 6 — игровой движок серии id Tech, который в настоящее время разрабатывается американской компанией id Software и который должен стать преемником id Tech 5. id Tech 6 позиционируется как движок для ПК и, возможно, для игровых консолей следующего… …   Википедия

  • id Tech 6 — Эта статья или секция статьи содержит информацию о запланированном или ожидаемом будущем программном обеспечении, которое в настоящий момент находится в разработке. Содержание статьи может изменяться по мере приближения момента …   Википедия

  • Дерево отрезков — структура данных, позволяющая быстро изменять значения в массиве и находить некоторые функции от элементов массива. Содержание 1 Дерево отрезков в памяти …   Википедия

  • Дерево квадрантов — Разбитая с помощью дерева квадрантов плоскость Дерево квадрантов (также квадродерево, 4 дерево, англ. quadtree) дере …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»