Метод построения трехмерной графики на основе полей расстояний
М. А. Круглов, А.В. Холкин
Казанский национальный исследовательский технический университет
имени А. Н. Туполева
Аннотация: В данной статье исследуется эффективность метода полей расстояний для построения трехмерной графики в сравнении с традиционным полигональным подходом. Основное внимание уделяется использованию аналитического представления моделей, что позволяет определить кратчайшее расстояние до объектов сцены и обеспечивает высокую скорость даже на слабом оборудовании. Сравнительный анализ проводится по возможности широкой детализации модели, применимости различных источников освещения, отображению отражений и трансформации моделей. В заключении делаются выводы о перспективности метода полей расстояний для построения трехмерной графики, особенно в системах отрисовки в реальном времени. Также подчеркивается, что дальнейшие исследования и разработки в этой области являются актуальными. В рамках работы была реализована универсальная программная реализация метода полей расстояний.
Ключевые слова: компьютерная графика, рендеринг, трехмерная графика, ray marching, полигональная графика, развитие трехмерной графики, моделирование, 3D-модели.
Введение
В современном мире трехмерная графика стала неотъемлемой частью нашей жизни, находя применение в самых разных сферах - от игровой индустрии и кинематографа до строительства и машиностроения [1]. Каждая из этих областей предъявляет свои уникальные требования к процессу построения моделей, варьируя время на их создание и качество, которое определяется степенью приближенности к объектам реального мира.
Несмотря на различия в подходах и целях, конечной задачей при построении трехмерной графики является создание двумерного изображения проекции трехмерной сцены. Поиск новых методов рендеринга и оптимизация существующих становятся все более актуальными в связи с расширяющейся областью применения данных технологий: так, в последнее время активное развитие получили технологии виртуальной и дополненной реальности (VR и AR), где особенное внимание уделяется портативности [2]. В этом контексте особенно важна обработка ßD-графики в режиме реального времени, а также используемые для этого вычислительные ресурсы.
Основная цель данной работы заключается в исследовании эффективности использования метода на основе полей расстояний в сравнении с повсеместно используемым сейчас полигональным методом для построения трехмерной графики.
Исследование метода полей расстояний
Метод полей расстояний, использующий аналитическое представление моделей, популярен в демо-сценах благодаря его производительности и минимальному размеру кода [3]. Этот метод, схожий с трассировкой лучей, позволяет определить кратчайшее расстояние до объектов сцены. Он использует приближенное решение для вычисления пересечения, что обеспечивает высокую скорость даже на слабом оборудовании. В зависимости от направления лучей, сцена может быть представлена в ортогональном виде или в перспективе. Метод также позволяет отражать лучи по нормали к модели и использовать модель освещения Ламберта [4]. Сложные модели могут быть построены с использованием примитивов и их дальнейшей трансформации. Несмотря на некоторые ограничения, метод полей расстояний представляет собой перспективный подход к построению трехмерной графики и требует дальнейших исследований и разработок. В рамках данной работы была предложена универсальная программная реализация этого метода.
Для рассмотрения отдельных примитивов и способа их создания была разработана универсальная программная реализация метода полей расстояний. Рассмотрим отдельные примитивы и способы их математического определения в программе.
Сфера, изображенная на рис.1а, задается формулой (1). В качестве определяющей характеристики используется её радиус г, р - точка для текущего шага прохода луча от камеры.
и
(1)
Параллелепипед (рис. 1б) описывается тремя параметрами - высота, длина, ширина. Для построения модели используются формулы (2), (3) и (4).
где Ь - трехмерный вектор, который указывает на размеры параллелепипеда (высоту, длину и ширину).
т = тах (¡7,0.0),
(3)
.' = :.::■■: V - - ::■■:;.■- - : Г - - ::■■::: ■:::■■: Л V: .; у .; Г : : ~ : : (4)
Л
а) б)
Рис. 1. - Примитивы: а - шар, б - параллелепипед
Используя аналитическую природу моделей, создание новых объектов сводится к объединению примитивов с применением операций: объединения, вычитания и пересечения. Рассмотрим подробнее каждый из них. Пусть 11 -расстояние до объекта 1, 12 - расстояние до объекта 2.
Жестко объединение (рис. 2а) объединяет две модели, сохраняя место пересечение в исходном состоянии, и задается формулой (5).
Жесткое вычитание (рис. 2б) объединяет две модели, вычитая форму первой из второй, по формуле (6).
.' = 1 :.-.'_.'■; (6)
Жесткое пересечение (рис. 2в) объединяет две модели так, что результатом является их общая часть. При этом место пересечения остается исходным. Использование данного метода представлено формулой (7).
: = г.:,-:::.) (7)
Для формирования изображения, содержащего большое количество повторяющихся одинаковых объектов, можно использовать формулу (8). В отличие от полигонального метода, данный алгоритм не увеличивает сложность сцены, так как не требуются вычисления расстояния до каждого из дублированных моделей. Изображение сцены с бесконечным дублированием параллелепипеда представлено на рис. 3.
Рис. 2. - Результаты выполнения операций: а - жесткое объединение, б -жесткое вычитание, в - жесткое пересечение
.'= - S г г) — Z Ч г) (8)
Где primitive - функция нахождения примитива от трехмерного
вектора, c - размер кубической области повторения объектов.
Рис. 3. - Бесконечное дублирование
Аналитическое задание трехмерных объектов позволяет модифицировать форму объекта, изменяя параметры, но не меняя основу модели. Это выделяет метод на основе полей расстояний в системах моделирования. Разработка моделей занимает меньше времени и ресурсов, что ускоряет разработку и снижает затраты [1]. Кроме того, в дальнейшем можно применить технологию ОрепСЦ которая позволяет оптимизировать отрисовку за счет распараллеливания лучей [5].
Сравнительный анализ
Сравнительный анализ метода полей расстояний проводится с наиболее популярным методом построения трехмерной компьютерной графики - полигональным методом. Основная часть сравнительного анализа будет производиться на основе фундаментальных теоретических данных об этих двух технологиях.
Для построения наиболее современной трехмерной компьютерной графики были выделены следующие критерии оценки: широкая детализация модели, применимость различных источников освещения, отображение отражений при применении различных поверхностей и освещений.
Технология полей расстояний обладает всеми необходимыми техниками для построения трехмерной компьютерной графики. Рассмотрим каждый из выделенных критериев:
1. Возможность широкой детализации модели. Аналитически заданные объекты позволяют создавать детализированные модели без значительного усложнения. Однако, излишняя детализация и острые углы увеличивают вычислительные расходы и сложность модели [3].
2. Применимость различных источников освещения. Метод полей расстояний позволяет использовать различные источники освещения при построении сцены, что улучшает производительность благодаря использованию лучей, направленных от камеры [5].
3. Отображение отражений. Отражения используются благодаря полям расстояний. Лучи опускаются на сцены, отражаются и суммируются для получения отражений без дополнительных вычислений. Производительность регулируется количеством отражений лучей.
4. Трансформируемость моделей. Аналитическая природа моделей позволяет легко применить различные виды трансформации [6].
Преимущество метода полей расстояний - возможность отрисовки при проходе каждого луча от камеры. Недостатки включают проблемы с моделированием острых углов и сложность построения моделей из-за отсутствия единой методологии. Однако, последнее компенсируется возможностью переиспользования и настройки моделей.
Полигональный метод построения и отрисовки трехмерной компьютерной графики широко применяется в настоящее время. Наиболее популярным средством отрисовки является OpenGL - платформонезависимая библиотека для работы с полигональной графикой [7]. Рассмотрим метод поподробнее:
1. Возможность широкой детализации модели - увеличение количества полигонов при разработке трехмерной модели позволяет ее усложнять и шире детализировать [8]. Однако увеличение числа полигонов увеличивает трудность отрисовки и снижает производительность.
2. Применимость различных источников освещения - чаще всего освещения применяются в отдельных потоках, что значительно усложняет построение сцены [9].
3. Отображение отражений - при полигональном построении моделей и сцен чаще всего используют метод трассировки лучей [10]. Данный метод выполняет опускание лучей для просчета столкновений с объектами и носит значительные накладные расходы.
4. Трансформируемость моделей - завязана на взаимном смещении полигонов. Обычно используется построение скелета модели, относительного которого и перемещаются вершины полигонов [11]. Увеличение числа которых значительно усложняет процесс трансформации.
Полигональный метод трехмерной графики широко используется, но требует дополнительных вычислений и оптимизаций. В то же время, метод полей расстояний эффективен за счет меньшей сложности алгоритма, но имеет проблемы с программной реализацией в силу отсутствия аппаратной оптимизации. Он применим в различных сферах, особенно в системах отрисовки в реальном времени. Выбор метода зависит от задачи, но реализация формирования изображения на основе полей расстояний -перспективное направление для исследований.
Заключение
В данной работе был произведен обзор метода построения трехмерной графики с использованием полей расстояний, сделан вывод о его применимости на основе сравнительного анализа с полигональным методом. Кроме того, была представлена универсальная программная реализация, которая может быть применена при построении трехмерных сцен. В дальнейшем показанное решение может быть модифицировано для построения более сложных моделей. Данная работа способствует дальнейшему развитию и продвижению технологии полей расстояний на практике.
Литература
1. Daniel Cohen-Or, Amira Solomovic, and David Levin Three-dimensional distance field metamorphosis. ACM Trans. Graph. 1998. №17. - pp.116-141.
2. Залогова Л.А. Принципы трехмерной графики в программах трехмерного моделирования и системах виртуальной реальности // Вестник
Пермского университета. 2010. №3. URL:
philsoc.psu.ru/files/science/2010_3.pdf
3. M. W. Jones, J. A. Baerentzen and M. Sramek 3D distance fields: a survey of techniques and applications. IEEE Transactions on Visualization and Computer Graphics. 2006. №4. - pp. 581-599.
4. Задорожный А.Г. Модели освещения и алгоритмы затенения в компьютерной графике. Новосибирск: Изд-во НГТУ, 2020. C. 28
5. Быков Д.В., Неретин А.Д. Прогнозирование производительности при реализации алгоритмов генерации случайных последовательностей больших размерностей на реконфигурируемых архитектурах с сопроцессорами. Инженерный вестник Дона, 2024, № 6. URL: ivdon.ru/ru/magazine/archive/n2y2014/2414
6. Jones, Mark W., and Richard Satherley Using distance fields for object representation and rendering. Proc. 19th Ann. Conf. of Eurographics. 2001. URL: researchgate.net/publication/267554217_Using_Distance_Fields_for_Object_Repr esentation_and_Rendering
7. Тымчук Д.А., Свечкарев В.П. Многоязыковые возможности среды многоагентного моделирования Repast SImphony. Инженерный вестник Дона, 2024, № 6. URL: ivdon.ru/ru/magazine/archive/n4y2013/1982
8. Russo, Mario Polygonal modeling: basic and advanced techniques. Jones & Bartlett Learning. 2006. - pp. 3-10
9. SUGIHARA, Kenichi, and Takahiro MURASE Building polygon rectification for automated 3D building models. 14th IEEE International Conference on Signal Processing (ICSP). 2018. URL: ieeexplore.ieee.org/document/8652494
10. Ray Tracing Gems: High-Quality and Real-Time Rendering with DXR and Other APIs / Eric Haines: Apress, 2019. - pp. 132-144
M Инженерный вестник Дона, №7 (2024) ivdon.ru/ru/magazine/arcliive/n7y2024/9384
11. Tagliasacchi, Andrea, et al. 3d skeletons: A state- of- the- art report. Computer Graphics Forum. №2. 2016. URL: hal.science/hal-01300281/file/3D_Skeletons_STAR.pdf
References
1. Daniel Cohen-Or, Amira Solomovic, and David Levin. ACM Trans. Graph. 1998. №17. pp. 116-141.
2. Zalogova L.A. Vestnik Permskogo universiteta. 2010. №3. URL: philsoc.psu.ru/files/science/2010_3.pdf
3. M M. W. Jones, J. A. Baerentzen and M. IEEE Transactions on Visualization and Computer Graphics. 2006. №4. pp. 581-599.
4. Zadorozhnyj A.G. Novosibirsk: Izd-vo NGTU, 2020. p.28.
5. Bykov D.V., Neretin A.D. Inzhenernyj vestnik Dona, 2024, № 6. URL: ivdon.ru/ru/magazine/archive/n2y2014/2414
6. Jones, Mark W., and Richard Satherley. Proc. 19th Ann. Conf. of Eurographics. 2001. URL: researchgate.net/publication/267554217_Using_Distance_Fields_for_Object_Repr esentation_and_Rendering
7. Tymchuk D.A., Svechkarev V.P. Inzhenernyj vestnik Dona, 2024, № 6. URL : ivdon.ru/ru/magazine/archive/n4y2013/1982
8. Russo, Mario. Jones & Bartlett Learning. 2006. pp. 3-10.
9. SUGIHARA, Kenichi, and Takahiro MURASE. 14th IEEE International Conference on Signal Processing (ICSP). 2018. URL: ieeexplore.ieee.org/document/8652494
10. Eric Haines. Apress, 2019. pp. 132-144.
11. Tagliasacchi, Andrea, et al. Computer Graphics Forum. 2016. №2. URL: hal.science/hal-01300281/file/3D_Skeletons_STAR.pdf.
Дата поступления: 6.05.2024 Дата публикации: 5.07.2024