БЫСТРОЕ ПОСТРОЕНИЕ BVH ДЕРЕВА НА GPGPU
Работая с нашим сайтом, вы даете свое согласие на использование файлов cookie. Это необходимо для нормального функционирования сайта, показа целевой рекламы и анализа трафика. Статистика использования сайта отправляется в «Яндекс» и «Google»
Научный журнал Моделирование, оптимизация и информационные технологииThe scientific journal Modeling, Optimization and Information Technology
cетевое издание
issn 2310-6018

БЫСТРОЕ ПОСТРОЕНИЕ BVH ДЕРЕВА НА GPGPU

Воронцов Г.В.   Преображенский А.П.   Чопоров О.Н.  

УДК 004.424.5.032.24
DOI:

  • Аннотация
  • Список литературы
  • Об авторах

В данной статье проводится анализ возможностей разработки алгоритма построения BVH-дерева. Этот алгоритм должен позволять быструю перестройку дерева при изменении параметров задачи. Предлагается анализировать линейное BVH-дерево, вначале выбирается порядок, в котором листовые узлы обозначаются в дереве, затем генерируются внутренние узлы по этому порядку. Рассматривается кривая Z-порядка, вычисляются Мортон-коды для каждого листового узла. На следующем шаге осуществляется сортировка получившихся Мортон-кодов. В алгоритме сортировки двоичной последовательности используется параллельный алгоритм Radix Sort. Для анализа последовательности листовых узлов, необходимо разбить ее на подинтервалы, размеры которых определяются в рамках бинарного поиска. Чтобы повысить значение занятости видеокарты, предлагается указать внутренние узлы определенным образом, и тогда, появляется возможность узнать, к какому диапазону листовых узлов относится любой выбранный внутренний узел. Для тестирования алгоритма быстрого построения BVH-дерева на GPGPU была использована технология DirectCompute и язык программирования шейдеров — HLSL. Приведена зависимость времени выполнения каждой от количества примитивов при вычислении ограничивающих объемов листовых узлов и их кодов Мортона, формировании иерархии дерева, а также вычислении ограничивающих объемов внутренних узлов.

1. Boundin Volume Hierarchy [электронный ресурс]: https://en.wikipedia.org/wiki/Bounding_volume_hierarchy

2. Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees, Tero Karras, NVIDIA Research, 2012 [электронный ресурс]: https://devblogs.nvidia.com/wpcontent/uploads/2012/11/karras2012hpg_paper.pdf

3. Simpler and Faster HLBVH with Work Queues, Kirill Garanzha, Jacopo Pantaleoni, David McAllister, NVIDIA [электронный ресурс]: http://www.highperformancegraphics.org/previous/www_2011/media/Papers /HPG2011_Papers_Garanzha.pdf

4. Fast BVH Construction on GPUs, C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, D. Manocha [электронный ресурс]: http://luebke.us/publications/eg09.pdf

5. Space filling curve [электронный ресурс]: https://en.wikipedia.org/wiki/Space-filling_curve

6. Z-order curve [электронный ресурс]: https://en.wikipedia.org/wiki/Zorder_curve

Воронцов Глеб Владимирович

Email: lomovivanvivt@yandex.ru

Воронежский институт высоких технологий

Воронеж, Российская Федерация

Преображенский Андрей Петрович
доктор технических наук, профессор
Email: app@vivt.ru

Воронежский институт высоких технологий

Воронеж, Российская Федерация

Чопоров Олег Николаевич
доктор технических наук, профессор
Email: choporov_oleg@mail.ru

Воронежский государственный технический университет

Воронеж, Российская Федерация

Ключевые слова: bhv-дерево, бинарный поиск, видеокарта, листовой узел, коды мортона

Для цитирования: Воронцов Г.В. Преображенский А.П. Чопоров О.Н. БЫСТРОЕ ПОСТРОЕНИЕ BVH ДЕРЕВА НА GPGPU. Моделирование, оптимизация и информационные технологии. 2018;6(2). Доступно по: https://moit.vivt.ru/wp-content/uploads/2018/04/VoronzovSoavtori_2_18_1.pdf DOI:

721

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