<?xml version="1.0" encoding="UTF-8"?>
<article article-type="research-article" dtd-version="1.3" xml:lang="ru" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://metafora.rcsi.science/xsd_files/journal3.xsd">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">moitvivt</journal-id>
      <journal-title-group>
        <journal-title xml:lang="ru">Моделирование, оптимизация и информационные технологии</journal-title>
        <trans-title-group xml:lang="en">
          <trans-title>Modeling, Optimization and Information Technology</trans-title>
        </trans-title-group>
      </journal-title-group>
      <issn pub-type="epub">2310-6018</issn>
      <publisher>
        <publisher-name>Издательство</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi"/>
      <article-id pub-id-type="custom" custom-type="elpub">462</article-id>
      <title-group>
        <article-title xml:lang="ru">БЫСТРОЕ ПОСТРОЕНИЕ BVH ДЕРЕВА НА GPGPU</article-title>
        <trans-title-group xml:lang="en">
          <trans-title>THE ALGORITHMS OF PARALLEL RADIX SORTING ON GPGPU</trans-title>
        </trans-title-group>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Воронцов</surname>
              <given-names>Глеб Владимирович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Vorontsov</surname>
              <given-names>Gleb Vladimirovich</given-names>
            </name>
          </name-alternatives>
          <email>lomovivanvivt@yandex.ru</email>
          <xref ref-type="aff">aff-1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Преображенский</surname>
              <given-names>Андрей Петрович</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Preobrazhensky</surname>
              <given-names>Andrei Petrovich</given-names>
            </name>
          </name-alternatives>
          <email>app@vivt.ru</email>
          <xref ref-type="aff">aff-2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name-alternatives>
            <name name-style="eastern" xml:lang="ru">
              <surname>Чопоров</surname>
              <given-names>Олег Николаевич</given-names>
            </name>
            <name name-style="western" xml:lang="en">
              <surname>Choporov</surname>
              <given-names>Oleg Nikolaevich</given-names>
            </name>
          </name-alternatives>
          <email>choporov_oleg@mail.ru</email>
          <xref ref-type="aff">aff-3</xref>
        </contrib>
      </contrib-group>
      <aff-alternatives id="aff-1">
        <aff xml:lang="ru">Воронежский институт высоких технологий</aff>
        <aff xml:lang="en">Voronezh Institute of High Technologies</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-2">
        <aff xml:lang="ru">Воронежский институт высоких технологий</aff>
        <aff xml:lang="en">Voronezh Institute of High Technologies</aff>
      </aff-alternatives>
      <aff-alternatives id="aff-3">
        <aff xml:lang="ru">Воронежский государственный технический университет</aff>
        <aff xml:lang="en">Voronezh State Technical University</aff>
      </aff-alternatives>
      <pub-date pub-type="epub">
        <day>01</day>
        <month>01</month>
        <year>2026</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <elocation-id>e462</elocation-id>
      <permissions>
        <copyright-statement>Copyright © Авторы, 2026</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License</license-p>
        </license>
      </permissions>
      <self-uri xlink:href="https://moitvivt.ru/ru/journal/article?id=462"/>
      <abstract xml:lang="ru">
        <p>В данной статье проводится анализ возможностей разработки алгоритма построения BVH-дерева. Этот алгоритм должен позволять быструю перестройку дерева при изменении параметров задачи. Предлагается анализировать линейное BVH-дерево, вначале выбирается порядок, в котором листовые узлы обозначаются в дереве, затем генерируются внутренние узлы по этому порядку. Рассматривается кривая Z-порядка, вычисляются Мортон-коды для каждого листового узла. На следующем шаге осуществляется сортировка получившихся Мортон-кодов. В алгоритме сортировки двоичной последовательности используется параллельный алгоритм Radix Sort. Для анализа последовательности листовых узлов, необходимо разбить ее на подинтервалы, размеры которых определяются в рамках бинарного поиска. Чтобы повысить значение занятости видеокарты, предлагается указать внутренние узлы определенным образом, и тогда, появляется возможность узнать, к какому диапазону листовых узлов относится любой выбранный внутренний узел. Для тестирования алгоритма быстрого построения BVH-дерева на GPGPU была использована технология DirectCompute и язык программирования шейдеров — HLSL. Приведена зависимость времени выполнения каждой от количества примитивов при вычислении ограничивающих объемов листовых узлов и их кодов Мортона, формировании иерархии дерева, а также вычислении ограничивающих объемов внутренних узлов.</p>
      </abstract>
      <trans-abstract xml:lang="en">
        <p>This paper analyzes the possibilities of developing the BVH tree construction&#13;
algorithm. This algorithm should allow to quickly rebuild the tree when you change the&#13;
parameters of the problem. It is proposed to analyze the linear BVH tree, first select the order&#13;
in which the leaf nodes are indicated in the tree, then the internal nodes are generated in this&#13;
order. The z-order curve is selected and the Morton codes for each leaf node are calculated.&#13;
The next step is to sort the resulting Morton codes. The binary sequence sorting algorithm&#13;
uses a parallel Radix Sort algorithm. To analyze the sequence of leaf nodes, it is necessary to&#13;
divide it into subintervals, the sizes of which are determined by binary search. In order to&#13;
increase the occupancy of the graphics card, you are prompted to specify the internal nodes&#13;
in a certain way, and then you have the opportunity to find out what range of leaf nodes any&#13;
selected internal node belongs to. DirectCompute technology and Shader programming&#13;
language-HLSL were used to test the algorithm of fast BVH tree construction on GPGPU.&#13;
Given the dependence of running time of each of the number of primitives in the computation&#13;
of the bounding volumes of the leaf nodes and their codes of Morton, forming a tree&#13;
hierarchy, the computation of the bounding volumes of internal nodes.</p>
      </trans-abstract>
      <kwd-group xml:lang="ru">
        <kwd>bhv-дерево</kwd>
        <kwd>бинарный поиск</kwd>
        <kwd>видеокарта</kwd>
        <kwd>листовой узел</kwd>
        <kwd>коды мортона</kwd>
      </kwd-group>
      <kwd-group xml:lang="en">
        <kwd>bhv-tree</kwd>
        <kwd>binary search</kwd>
        <kwd>video card</kwd>
        <kwd>leaf node</kwd>
        <kwd>morton codes</kwd>
      </kwd-group>
      <funding-group>
        <funding-statement xml:lang="ru">Исследование выполнено без спонсорской поддержки.</funding-statement>
        <funding-statement xml:lang="en">The study was performed without external funding.</funding-statement>
      </funding-group>
    </article-meta>
  </front>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="cit1">
        <label>1</label>
        <mixed-citation xml:lang="ru">Boundin Volume Hierarchy [электронный ресурс]:&#13;
https://en.wikipedia.org/wiki/Bounding_volume_hierarchy</mixed-citation>
      </ref>
      <ref id="cit2">
        <label>2</label>
        <mixed-citation xml:lang="ru">Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d&#13;
Trees, Tero Karras, NVIDIA Research, 2012 [электронный ресурс]:&#13;
https://devblogs.nvidia.com/wpcontent/uploads/2012/11/karras2012hpg_paper.pdf</mixed-citation>
      </ref>
      <ref id="cit3">
        <label>3</label>
        <mixed-citation xml:lang="ru">Simpler and Faster HLBVH with Work Queues, Kirill Garanzha, Jacopo&#13;
Pantaleoni, David McAllister, NVIDIA [электронный ресурс]:&#13;
http://www.highperformancegraphics.org/previous/www_2011/media/Papers&#13;
/HPG2011_Papers_Garanzha.pdf</mixed-citation>
      </ref>
      <ref id="cit4">
        <label>4</label>
        <mixed-citation xml:lang="ru">Fast BVH Construction on GPUs, C. Lauterbach, M. Garland, S. Sengupta,&#13;
D. Luebke, D. Manocha [электронный ресурс]:&#13;
http://luebke.us/publications/eg09.pdf</mixed-citation>
      </ref>
      <ref id="cit5">
        <label>5</label>
        <mixed-citation xml:lang="ru">Space filling curve [электронный ресурс]:&#13;
https://en.wikipedia.org/wiki/Space-filling_curve</mixed-citation>
      </ref>
      <ref id="cit6">
        <label>6</label>
        <mixed-citation xml:lang="ru">Z-order curve [электронный ресурс]: https://en.wikipedia.org/wiki/Zorder_curve</mixed-citation>
      </ref>
    </ref-list>
    <fn-group>
      <fn fn-type="conflict">
        <p>The authors declare that there are no conflicts of interest present.</p>
      </fn>
    </fn-group>
  </back>
</article>