Научная статья на тему 'ВИРТУАЛЬНЫЕ ПЛОЩАДКИ В АЛГОРИТМЕ ИЗЛУЧАТЕЛЬНОСТИ'

ВИРТУАЛЬНЫЕ ПЛОЩАДКИ В АЛГОРИТМЕ ИЗЛУЧАТЕЛЬНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
21
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЛОБАЛЬНОЕ ОСВЕЩЕНИЕ / ВТОРИЧНОЕ ОСВЕЩЕНИЕ / ИЗЛУЧАТЕЛЬНОСТЬ / КЛАСТЕРИЗАЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Щербаков А.С., Фролов В.А., Галактионов В.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VIRTUAL PATCHES APPROACH FOR RADIOSITY

Geometry simplification for the radiosity method is a laborious process and it is difficult to automate in the general case. As an alternative solution to this problem, this paper proposes a modification of the radiosity method using approximation called “virtual patches”. Virtual patches are elements of the geometry obtained by clustering some points of the original geometry for which the illumination is calculated. They have a normal, color and area, but do not have a geometric representation, representing a cloud of points inside the voxel. In comparison with the original radiosity method, the proposed method, without reducing the performance of calculating global illumination, increases its accuracy.

Текст научной работы на тему «ВИРТУАЛЬНЫЕ ПЛОЩАДКИ В АЛГОРИТМЕ ИЗЛУЧАТЕЛЬНОСТИ»

DOI: 10.15514/ISPRAS-2022-34(3)-4

Виртуальные площадки в алгоритме излучательности

1А.С. Щербаков, ORCID: 0000-0002-5360-4479 <alex.shcherbakov@graphics.cs.msu.ru> иВ.А. Фролов, ORCID: ORCID: 0000-0001-8829-9884 <vfrolov@graphics.cs.msu.ru> 2В.А. Галактионов, ORCID: 0000-0001-6460-7539 <vlgal@gin.keldysh.ru> 1 Московский государственный университет имени М.В. Ломоносова, 119991, Россия, Москва, Ленинские горы, д. 1 2Институт прикладной математики имени М.В. Келдыша РАН (ИПМРАН), 125047, Россия, Москва, Миусская площадь, 4

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

Ключевые слова: глобальное освещение; вторичное освещение; излучательность; кластеризация

Для цитирования: Щербаков А.С., Фролов В.А., Галактионов В.А. Виртуальные площадки в алгоритме излучательности. Труды ИСП РАН, том 34, вып. 3, 2022 г., стр. 47-60. DOI: 10.15514/ISPRAS-2022-34(3)-4

Virtual patches approach for radiosity

1 A.S. Shcherbakov, ORCID: 0000-0002-5360-4479 <alex.shcherbakov@graphics.cs.msu.ru> 1,2 V.A. Frolov ORCID: 0000-0001-8829-9884 <vfrolov@graphics.cs.msu.ru> 2V.A. Galaktionov, ORCID: 0000-0001-6460-7539 <vlgal@gin.keldysh.ru> 1 Lomonosov Moscow State University, GSP-1, Leninskie Gory, Moscow, 119991, Russia 2 The Keldysh Institute of Applied Mathematics Russian Academy of Sciences, Miusskaya sq. 4, Moscow 125047, Russia

Abstract. Geometry simplification for the radiosity method is a laborious process and it is difficult to automate in the general case. As an alternative solution to this problem, this paper proposes a modification of the radiosity method using approximation called "virtual patches". Virtual patches are elements of the geometry obtained by clustering some points of the original geometry for which the illumination is calculated. They have a normal, color and area, but do not have a geometric representation, representing a cloud of points inside the voxel. In comparison with the original radiosity method, the proposed method, without reducing the performance of calculating global illumination, increases its accuracy.

Keywords: global illumination; indirect illumination; radiosity; clustering

For citation: Sherbakov A.S., Frolov V.A., Galaktionov V.A. Virtual patches approach for radiosity. Trudy ISP RAN/Proc. ISP RAS, vol. 34, issue 3, 2022, pp. 47-60 (in Russian). DOI: 10.15514/ISPRAS-2022-34(3)-4

1. Введение

Метод излучательности [1] для вычисления глобального освещения диффузных поверхностей обладает неплохим балансом скорость/качество по сравнению с другими методами интерактивной глобальной освещённости благодаря пред-просчёту информации о видимости и сохранению энергии, но в то же время требует вычислительных затрат пропорциональных квадрату количества полигонов 3D сцены (или площадок). Существуют различные подходы, снижающие вычислительную сложность этого метода. Часть из них являются развитием иерархической излучательности [2], другие предлагают альтернативные схемы вычисления освещения [3], замещающие стандартные подходы: решение матричного уравнения [1] и многократное умножение матрицы на вектор. Несмотря на существование подобных подходов, они не решают представленную проблему в полной мере. Поэтому в существующих решениях создаётся упрощенная геометрия [4], для которой вычисляется освещение. Затем вычисленное освещение накладывается на исходную геометрию для последующей визуализации.

2. Обзор существующих работ 2.1 Глобальное освещение

Задача глобального освещения разделяется на две составляющие: первичное освещение и вторичное. Первичное - это свет, попавший на геометрию 3D-сцены непосредственно из источника света. Вторичное - свет, отраженный от поверхностей. Задача первичного освещения значительно проще с точки зрения количества требуемых вычислений и успешно решается при помощи различных техник карт теней [5] и трассировки лучей [6]. Отдельно выделяют методы, позволяющие создавать мягкие тени [7]. Вторичное освещение намного сложнее вычислить, так как каждая точка геометрии является вторичным источником света. Поэтому для вычисления глобального освещения с учетом вторичного используют различные аппроксимации.

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

Instant Radiosity [8]. Данный алгоритм генерирует набор вторичных источников света, используя информацию об освещенности сцены первичными источниками. При вычислении освещения используется освещение от всех сгенерированных источников. Данный метод прост в реализации, но крайне требователен к количеству вторичных источников света для достижения приемлемого качества освещения. Также при использовании карт теней для каждого вторичного источника требования к памяти становятся неприемлемыми для большинства современных GPU.

Reflective Shadow Map (RSM) [9]. Этот метод является развитием Instant Radiosity. Обычная карта теней дополняется каналами, которые хранят цвет и нормали геометрии, отбрасывающей тень. Эти данные используются для генерации вторичных источников света. Таким образом, при вычислении освещения достаточно сделать несколько выборок из RSM и добавить освещение от вторичных источников. При этом вторичные источники не имеют карт теней и освещение может "просачиваться" сквозь геометрию. Для уменьшения количества артефактов карт теней часто используют Backface culling - отбрасывание 48

треугольников, повернутых к источнику света. RSM делает такой подход неприменимым. Таким образом, он быстрее, чем Instant radiosity, но имеет ряд недостатков связанных с качеством вычисленного освещения.

Screen Space Directional Occlusion (SSDO) [10] является адаптацией методов SSAO [11], учитывающей вторичное освещение при вычислении Ambient Occlusion (AO). При вычислении AO точки, которые выступают окклюдерами для освещения от окружения, также становятся вторичными источниками света. Учёт света от этих источников даёт некоторое приближение глобального освещения на дистанции, ограниченной радиусом эффекта SSAO. Так как эта техника работает в экранном пространстве, то она может учесть освещение только от геометрии, находящейся в данный момент на экране. При вращении объектов или камеры вторичное освещение от отдельных объектов может появляться и пропадать. GTAO [12] также работает в экранном пространстве и имеет некоторую аппроксимацию вторичного освещения. Авторы данного метода собрали большую статистику того, как свет переотражается для различной геометрии, и предложили аппроксимацию многократных отражений через многочлены. При этом в своём методе они аппроксимируют только яркость, не учитывая свет окружающей геометрии, поэтому в качестве цвета вторичных источников света берется цвет поверхности, на которую освещение этих источников падает. Сделано это из предположения, что цвет геометрии в небольшой окрестности скорее всего не различается значительно. Как и рассмотренному ранее методу SSDO, данному алгоритму присущи недостатки методов, работающих в экранном пространстве.

Light Propagation Volumes (LPV) [13]. В данном методе предлагается использование воксельной сетки в качестве так называемого объема распространения света. Инициализация этих объёмов производится при помощи алгоритма Reflective Shadow Map. Затем для объёмов производится вычисление переноса освещения между вокселями этого объёма. Данный метод подходит как для статической, так и для динамической геометрии. При этом он имеет следующие недостатки. Во-первых, ошибки вызванные дискретизацией сцены в объёмах распространения света. Отчасти эту проблему можно решить наличием нескольких каскадов объёмов. Во-вторых, невозможность поддержки матовых и зеркальных материалов для распространения света.

Voxel Cone Tracing (VCT) [14]. Суть этого алгоритма в том, что он заменяет дорогостоящую трассировку лучей через множество треугольников сцены трассировкой конусами вокселизированной сцены. При инициализации алгоритм строит воксельное представление сцены вокруг камеры и создаёт несколько MIP уровней для этого представления. Для вокселизированной сцены вычисляется освещение при помощи карты теней. Для вычисления самого освещения из пикселя выполняется трассировка конусами по полусфере. Количество и размер конусов зависит от материала поверхности, для которой вычисляется освещение. В ходе трассировки с удалением от исходной точки выбираются всё менее детальные уровни трехмерной текстуры с освещением. Данный метод более затратен для вычислений, чем подходы, рассмотренные выше, и имеет проблемы с просачиванием света сквозь геометрию или некорректным освещением геометрии в длинных узких коридорах. Обычно на практике этим алгоритмом вычисляют одно переотражение света, так как последующие переотражения требуют больше дорогостоящих вычислений.

Ray Tracing Global Illumination [6]. Это один из самых новых методов для использования в реальном времени, так как он опирается на аппаратную поддержку трассировки лучей. Для точек поверхности производится трассировка лучей в нескольких направлениях и вычисляется освещение методом Монте-Карло. Так как в реальном времени нет возможности трассировать достаточное количество лучей на пиксель для получения стабильного изображения, данный метод применяют совместно с алгоритмами подавления шума [15]. Также для увеличения производительности, трассировку можно проводить для меньшего разрешения экрана, совмещая её с алгоритмами увеличения разрешения [16]. Данный подход не подходит для видеокарт без поддержки трассировки лучей и требует выполнения

49

дорогостоящих операций, таких как трассировка луча и построение или изменение ускоряющих структур.

Spherical Harmonics (SH) [17] используются для аппроксимации освещения как сферической функции, зависящей от направления. Они могут применяться как полностью решение реального времени, так и как метод, требующий ручной расстановки проб, для которых будут вычислены гармоники. Для создания гармоники требуется отрисовать сцену в кубическую текстуру и для полученной текстуры вычислить приближение освещения гармоникой. На практике используют небольшое количество коэффициентов гармоники для уменьшения количества данных, требуемых для вычислений. Таким образом, гармоники могут представлять только диффузное освещение с ограниченной точностью. Для спекулярных отражений используют MIP-уровни кубической текстуры, полученной ранее. Это требует дополнительной фильтрации при построении MIP-уровней текстуры [18]. При автоматическом расположении проб для вычисления гармоник возможны проблемы с расположением пробы внутри геометрии, что будет приводить к просачиванию освещения через эту геометрию, либо некорректным значениям гармоник. Для использования данного метода необходимо отдельно решать задачу проверки видимости пробы из точек, для которых вычисляется освещение.

Irradiance Probes (IP) [19] может использовать сферические гармоники для представления irradiance внутри проб. При этом использование проб почти всегда заключается в наличии 3D сетки проб, которая используется для вычисления освещения. Для точки геометрии, которая покрывается сеткой проб, находятся 8 проб, которые её освещают, и с использованием трилинейной фильтрации вычисляется освещение для данной точки. Такой подход может давать просачивание света при использовании фильтрации, поэтому активно исследуются методы, уменьшающие такие артефакты.

Irradiance Cache (IC) [20] по сути является обобщением сетки Irradiance Probe. Данная техника предлагает различные структуры для хранения irradiance, как в экранном, так и в мировом пространстве. При этом стоит отметить, что иерархические или анизотропные структуры требуют больше времени для обращения к кэшу, хотя и снижают затраты памяти. RTX Global Illumination (RTX GI) [21] - это метод, предложенный компанией Nvidia для видеокарт с аппаратной поддержкой трассировки лучей. Он совмещает в себе методы Irradiance Probes и трассировку лучей. Для построения проб используются не кубические текстуры, а атлас текстур с октаэдральной проекцией и атлас текстур с глубиной также с октаэдральной проекцией. Это требует большее количество памяти для диффузной составляющей, но использование атласа глубины позволяет исключить большую часть артефактов, связанных с протечками света сквозь геометрию. Увеличенное количество требуемых данных для каждой пробы приводит к уменьшенному количеству проб и, как следствие, к уменьшенному объему, содержащему пробы при сохранении их плотности. За счёт уменьшения количества артефактов данный метод значительно превосходит другие методы irradiance cache в качестве изображения, но накладывает значительные ограничения на используемое аппаратное обеспечение.

Из методов, требующих пред-просчёта, можно выделить следующие.

Lightmaps [22, 23]. Это наиболее простой из методов глобального освещения. На этапе предобработки сцены вычисляется освещение для всех статических поверхностей 3D-сцены. Для этого можно использовать методы реалистичного рендеринга, такие как трассировка путей. Вычисленное освещение сохраняется в текстуры, из которых затем формируется атлас. При визуализации, для наложения освещения производится выборка рассчитанного освещения из атласа. Данный метод обладает высокой производительностью, но имеет ряд существенных недостатков. Во-первых, освещение возможно использовать только для статической геометрии и для фиксированной конфигурации источников света. Во-вторых, может потребоваться большой объем дополнительной памяти для хранения атласа и

текстурных координат атласа в каждой вершине статической геометрии. Для современных сцен, содержащих миллионы треугольников, данный недостаток делает весь алгоритм неприменимым. В-третьих, таким образом можно вычислить только диффузное освещение, так как может быть вычислено только освещение, не зависящее от позиции камеры. Spherical Harmonics Precomputed Light Transfer (SH PRT) [24]. Этот алгоритм использует описанные выше сферические гармоники для представления освещения. На этапе предобработки сферические гармоники используются для представления освещения от окружения. Так как на этом этапе известна финальная геометрия 3D объекта и предполагается, что она не будет изменяться в ходе визуализации, при вычислении гармоник можно учесть самозатенение света и переотражения для данного объекта. Данный метод поддерживает как диффузные отражения, так и спекулярные.

Нейросетевые методы [25, 26]. В последнее время ведутся работы по использованию нейронных сетей для вычисления глобального освещения. При этом используется архитектура многослойного перцептрона [25], либо архитектура U-network [26]. В настоящий момент данные подходы имеют слишком высокие требования ко времени выполнения, что делает их ограниченно применимыми на практике. Помимо этого, разработчик имеет ограниченный контроль над работой алгоритма, так как нет прямого метода по исправлению тех или иных артефактов. Для этого нужно расширять обучающую выборку, добавляя в неё примеры найденных артефактов.

Radiosity (излучательность) [1]. Данный метод один из наиболее реалистичных, так как использует физически корректные вычисления с двумя допущениями: все поверхности сцены матовые и их Двулучевая Функция Рассеивания (ДФР, BRDF) описывается моделью Ламберта. На этапе предобработки для сцены вычисляется матрица форм-факторов. Форм-фактор — это число, показывающее какая часть света от пришедшего на заданный полигон отразится на другой. При этом направление света, падающего на полигон, не имеет значения, так как ламбертовские материалы отражают свет равномерно во все стороны. Так как свет может переноситься между любыми двумя полигонами, количество форм-факторов равно NA2 для N полигонов сцены. Эти данные удобно представить в виде матрицы. Для корректного вычисления форм-факторов требуется вычислить интеграл:

р.. = — Г Г cos6cose'у(х v)dvdx

^ч Ai 'xepi JyEPj ЖГ2 v(x,y)ayax.

В общем случае, вычислить данный интеграл аналитически нельзя. Поэтому вычисляют его приближение методом Монте-Карло. Данная операция является очень затратной, поэтому её можно проводить только на этапе предобработки.

Отдельной проблемой при вычислениях является наличие больших треугольников. Поскольку при делении такого полигона значения форм-факторов для его частей, и как следствие, их освещение, могут значительно различаться метод излучательности требует некоторого подразбиения исходных полигонов 3D сцены. Следовательно, форм-факторы вычисляются для M полигонов, где M >= N. Так как современные сцены содержат миллионы полигонов, количество форм-факторов будет огромным, и матрицу такого размера нельзя будет эффективно использовать при визуализации реального времени. Чтобы решить данную проблему, на практике используют иерархическую излучательность, кластеризацию полигонов и упрощенную геометрию. При этом иерархическая излучательность имеет проблемы с производительностью на GPU, так как этот метод требует выполнения несколько этапов вычислений для каждого уровня иерархии и синхронизацию между ними. Кластеризация полигонов позволяет разделить сцену на несколько под-сцен, и каждая из них обрабатывается независимо. При этому может теряться освещение, отраженное с одной под-сцены на другую. При использовании любой из этих оптимизаций требуется использовать упрощение геометрии.

Данный метод может быть применен в реальном времени для вычисления вторичного освещения на статической геометрии. Для динамической геометрии можно вычислять освещение при помощи сферических гармоник [17]. Источники освещения могут менять свою конфигурацию, и освещение будет меняться динамически.

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

2.2 Упрощение геометрии

Для метода излучательности применяют как ручное, так и автоматизированное упрощение геометрии. Ручное упрощение требует работы со стороны 3D художников и несколько итераций для уменьшения количества артефактов, связанных с упрощением. Можно выделить несколько видов автоматического упрощения геометрии. Модификация исходной геометрии [4]. Данная группа методов итеративно изменяет некоторые полигоны исходной сцены до достижения некоторого условия. Например, достижение необходимого числа полигонов или достижение нужных метрик для площадей полигонов. В данных методах выделяют следующие операции: удаление вершин, коллапс ребер, кластеризация вершин, удаление полигонов, изменение ребер, смещение вершин. Такие подходы не применимы для метода излучательности, так как в них нет контроля над нормалями полученных полигонов, что существенно влияет на результирующее освещение. Ремешинг [27]. Идея этих алгоритмов заключается в том, чтобы создать геометрию аналогичную данной с меньшим количеством полигонов. Для достижения этой цели используется не модификация исходной геометрии, а создание векторных полей, которые затем используются для генерации новой геометрии. Такие подходы применимы для уменьшения сложности 3D объектов, но на низких количествах результирующих полигонов они дают результаты с артефактами, требующие ручной модификации. Чаще всего эти артефакты связаны с появлением отверстий и самопересекающейся геометрии. Таким образом, при использовании с методом излучательности ремешинг может давать просачивание света и ложные тени во вторичном освещении.

Нейросетевые методы [28]. Для аппроксимации геометрии можно использовать самоорганизующиеся карты Кохонена. В функцию, которую оптимизирует нейронная сеть, можно заложить зависимость от нормалей исходной и упрощенной геометрии и равномерность площадей финальных полигонов. Недостатком данного подхода является необходимость вручную задавать начальную геометрию карты для устранения возможных артефактов: исчезновения или появления отверстий, которым нет соответствия в исходных данных 3D сцены.

Также можно представить геометрию в виде набора заранее заданных примитивов. Один из таких методов связан с вокселизацией геометрии [29]. Вся сцена разбивается на воксели и те из них, которые содержат внутри себя геометрию, считаются заполненными. Такой подход будет давай артефакты для объектов и треугольников, которые не ориентированы по осям воксельной сетки. Улучшить ситуацию можно с использованием марширующих кубов [30]. Такой подход позволит увеличить количество вариаций допустимых направлений нормали и форм полигонов, но он не решает данную проблему полностью и в экстремальных случаях возможно грубое представление.

Level of Details (LoD) [31]. Многие инструменты для работы с 3D геометрией имеют возможность генерации уровней детализации для объектов и сцен. Основная задача упрощенной таким образом геометрии - заменять исходные полигоны, когда они находятся

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

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

2.3 Surfels (Surface Element)

Для вычисления освещения сложных сцен в высокоточном рендеринге используется метод surfels [32]. Surfel - по сути является вторичным источником света, но не точечным, а с некоторой площадью. Он содержит цвет, позицию, нормаль и площадь. При вычислении освещения проверяется видимость этих источников для требуемых точек сцены и, если нет загораживающих видимость объектов, добавляется освещение от данного surfel. При этом возможны оптимизации, связанные с кластеризацией таких источников и построения их иерархий. Этот подход не применяется для визуализации в реальном времени, но в данной работе были использованы его идеи для создания виртуальных патчей для метода излучательности.

3. Предложенный метод

В данной работе предлагается метод создания и использования виртуальных патчей, которые позволяют избежать использования упрощенной геометрии. Сцена разбивается на воксели. Внутри каждого вокселя генерируются семплы (точечные выборки) на исходной геометрии. Для каждой пары семплов вычисляется форм-фактор. Таким образом, мы получаем классический форм-фактор, посчитанный трассировкой лучей для одного семпла.

Ф

оооо оооо œ

о о о

о

о

С) )

О О П О——о п гч о

Рис. 1. Вокруг геометрии сцены генерируется

сетка из 4-х вокселей Fig.1. A grid of 4 voxels is generated around the geometry of the scene

Рис. 2. На границах сетки равномерно распределяются начальные позиции для трассировки лучей Fig.2. The initial positions for ray tracing are evenly distributed at the grid boundaries

После этого производится кластеризация семплов внутри вокселя, пока количество кластеров не будет ниже заданного значения. Семплы внутри кластеров объединяются в единый патч/площадку за счёт аддитивности форм-факторов. Таким образом, получаются патчи, не имеющие реальной геометрии.

Вначале для сцены вычисляется ограничивающий прямоугольный параллелепипед, выровненный по осям координат. Полученный объем разбивается на воксели (рис. 1). На гранях каждого вокселя равномерно выбираются точки (рис. 2). Из выбранных точек трассируются лучи внутрь вокселя. С помощью этих лучей находятся точки на исходной геометрии, которые влияют на освещение геометрии в других вокселях (рис. 3). При вычислениях учитываются только лучи, для которых найдены пересечения внутри рассматриваемого вокселя (рис. 4). Для точек пересечения внутри вокселя генерируются семплы (рис. 5).

( Ш.

^ Мл

Рис. 3. Из сгенерированных точек выпускаются

лучи вдоль нормали грани сетки Fig.3. Rays are released from the generated points along the normal of the mesh face

Рис. 4. Лучи, не имеющие пересечений с геометрией сцены или имеющие пересечение вне

рассматриваемого вокселя, игнорируются Fig.4. Rays that do not intersect with the geometry of the scene or have an intersection outside the voxel are ignored

Рис. 5. На точках пересечения луча с геометрией генерируются семплы с заданной позицией,

нормалью и цветом

Fig.5. Samples with the specified position, normal and color are generated at the points of intersection of

the ray with the geometry

В качестве нормали и цвета берутся соответствующие значения исходной геометрии. Последний компонент семпла, площадь, требует большего количества вычислений. Берется площадь полигона Sh, попадающая в воксел, и делится на количество семплов К, попавших в этот полигон:

= — •

1 К

Следующий этап пред-просчёта - это вычисление форм-факторов. Для каждой пары семплов проверяется их взаимная видимость и в случае успешной геометрии вычисляются форм-факторы:

1 соявсоявг

На этом этапе количество данных будет зависеть от количества семплов в каждом вокселе. Для хорошего качества освещения нужно несколько десятков семплов, что существенно увеличивает размер матрицы форм-факторов.

Г-, 1 cosbcosbr тт ,. .4

FH =7h „„2 V(l,J)-

M(i,j) = (l + | Ci - Cj\\2) (2 - (NuNj)) (1 + Jz%=o(Fih - Fjh)2 + (Fhi - Fhj)2^

Мы использовали жадный подход к кластеризации. Внутри вокселя ищутся два семпла, которые наиболее близки по метрике:

fl + ||C - С/У^-О^ОД^^

где С - цвет, а V - нормаль.

В данной метрике учитывается схожесть семплов по цвету, нормали и вычисленным форм-факторам. Это позволяет уменьшить количество артефактов, связанных с кластеризацией. Для найденных семплов проводится процесс слияния. Нормали, цвет и форм-факторы сливаются с учетом площадей, соответствующим семплам, по формулам:

fNisf+NjSf\

V = normalize (—sh+sn ' ),

_ CiSf+CjSf С = Sf+Sf •

Применимость такого подхода для форм-факторов описана в [1]. Данный процесс повторяется пока внутри воксела не останется желаемое количество патчей.

4. Сравнения результатов

Для оценки качества были проведены сравнения изображений с эталонными, полученными методом трассировки путей. Предложенный метод даёт схожие отражения света на тестовых сценах (табл. 1). Были рассмотрены модели различной сложности, находящиеся в Cornell Box - кубической геометрии со стенами разного цвета. Также было проведено сравнение на сцене Sponza (нижний ряд в табл.1), где видно, что предложенный метод генерирует лучшее вторичное освещение от цветных флагов. Для первичного освещения были использованы карты теней с методом PCF [33] для мягких границ затенения. Сравнение полного освещения, полученного методом излучательности, не проводилось, так как дискретизация пространства даёт заметные артефакты освещения.

Табл. 1. Сравнения на различных сценах Table 1. Comparison on different scenes

Предложенный метод Эталонные изображения, Использование

полученные методом path вокселизированной геометрии tracing

Табл. 2. Артефакты при вокселизации сцены Table 2. Artifacts during voxelization of the scene

Предложенный метод Эталонные изображения, Использование

полученные методом path вокселизированной геометрии

Помимо этого, было проведено сравнение с излучательностью, использующей вокселизированное приближение сцены. Предложенный метод оказывается ближе к эталонному изображению по метрике MSE (табл. 3). На более сложных сценах метод излучательности имеет большую ошибку относительно трассировки путей, так как при дискретизации пространства теряется информация о деталях геометрии. Это особенно хорошо видно для ошибки на сцене Cry-Sponza. Для сцен с меньшим количеством деталей и, как следствие, более плавным изменением вторичного освещения метрика MSE меньше.

Табл. 3. Численное сравнение сцен с эталонным изображением, полученным методом трассировки путей (меньше — лучше)

Table 3. Numerical comparison of scenes with a reference image obtained by the path tracing method (less is better)

№ сцены (строки в Табл.1 и 2 ) MSE для предложенного метода MSE для вокселизации

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 (cornell box) 4.90 7.73

2 (dragon) 9.24 10.95

3 (cornell and sofa) 2.68 4.01

4 (Cry-Sponza) 56.43 61.96

Данный метод может быть улучшен с применением каскадов и нескольких масштабов воксельных сеток. При этом есть возможность добавить перенос освещения между разными каскадами для улучшения точности.

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

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

5. Заключение

В данной статье предложен метод виртуальных патчей, который используется при подготовке 3Б-сцены для применения в методе излучательности. Этот метод позволяет избежать ручного и полуавтоматического упрощения геометрии, которое необходимо для вычисления вторичного освещения методом излучательности на реальных сценах. В то же время данный подход увеличивает качество финального освещения по сравнению с воксельным приближением сцены (табл. 2), которое также является полностью автоматическим методом упрощения геометрии. При этом увеличивается только вычислительная сложность этапа предобработки сцены и не требуется дополнительных вычислений при визуализации изображения. Количество данных, необходимых для вычисления освещения, также не увеличивается по сравнению с вокселизацией. Предложенный метод может быть скомбинирован с различными техниками и алгоритмами, которые позволяют расширить его для сцен произвольного размера и учесть вторичное освещение для высокодетализированной геометрии.

Список литературы / References

[1]. Sillion F. X., Puech C. Radiosity and global illumination. Morgan Kaufmann, San Francisco, 1994. 251p.

[2]. Hanrahan P., Salzman D., and Aupperle L. A rapid hierarchical radiosity algorithm. ACM SIGGRAPH Computer Graphics, vol. 25, issue 4, 1991, pp. 197-206.

[3]. Cohen M.F., Chen S.E. et al. A progressive refinement approach to fast radiosity image generation. In Proc. of the 15th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '88), 1988, pp. 75-84.

[4]. Andùjar C. Geometry Simplification. Research report Nr LSI-99-2-R, Universität Politècnica de Catalunya, Barcelona, 1999, 73 p.

[5]. Scherzer D., Wimmer M., Purgathofer W. A Survey of Real-Time Hard Shadow Mapping Methods. Computer Graphics Forum, vol. 30, issue 1, 2011. pp. 169-186.

[6]. Keller A., McGuire M. et al. Ray Tracing Gems. High-quality and real-time rendering with DXR and other APIs. Apress, 2019, 651 p.

[7]. Hasenfratz J.-M., Lapierre M. et al. A survey of RealTime Soft Shadows Algorithms. Computer Graphics Forum, vol. 22, issue 4, 2003, pp.753-774.

[8]. Keller A. Instant Radiosity. In Proc. of the 24th Annual Conference on Computer Graphics and Interactive Techniques, 1997, pp. 49-56.

[9]. Dachsbacher C., Stamminger M. Reflective shadow maps. In Proc. of the 2005 Symposium on Interactive 3D Graphics and Games, 2005. pp. 203-231.

[10]. Grosch T., Ritschel T. Screen-Space Directional Occlusion. In GPU Pro: Advanced Rendering Techniques, A K Peters/CRC Press, 2010, 16 p.

[11]. Mittring, M. Finding next gen: Cry Engine 2. In ACM SIGGRAPH 2007 courses, 2007, pp. 97-121.

[12]. Jimenez. J, Wu X.-C. et al. Practical Real-Time Strategies for Accurate Indirect Occlusion. Technical Memo ATVI-TR-19-01, Activision, 2016.

[13]. Kaplanyan A. and Dachsbacher C. 2010. Cascaded Light Propagation Volumes for Real-Time Indirect Illumination. In Proc. of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D '10), 2010, pp. 99-107.

[14]. Crassin C., Neyret F. et al. Interactive Indirect Illumination Using Voxel Cone Tracing: a Preview. In Proc. of the Symposium on Interactive 3D Graphics and Games (I3D '11), 2011, p. 207.

[15]. Mara M., McGuire M. et al. An efficient denoising algorithm for global illumination. In Proc. of High Performance Graphics (HPG '17), 2017, article no. 3, 7 p.

[16]. Shi W., Caballero J. et al. Real-Time Single Image and Video Super-Resolution Using an Efficient SubPixel Convolutional Neural Network. In Proc. of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 1874-1883.

[17]. Green R. Spherical harmonic lighting: The gritty details. Technical report, Sony Computer Entertainment America, 2003, 47 p.

[18]. Manson, J. and Sloan, P.-P. Fast Filtering of Reflection Probes. Computer Graphics Forum, vol. 35, issue 4, 2016, pp. 119-127.

[19]. McGuire M., Mara M. et al. Real-Time Global Illumination Using Precomputed Light Field Probes. In Proc. of the 21st ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D '17), 2017, article no. 2, 11 p.

[20]. Tabellion E. and Lamorlette A. An Approximate Global Illumination System for Computer-Generated Films. ACM Transactions on Graphics, vol. 23, issue 3, 2004, pp 469-476

[21]. RTX Global Illumination (RTXGI). URL: https://developer.nvidia.com/rtxgi.

[22]. Flatt D. AMD Radeon Rays Integrated into Unity's GPU Progressive Lightmapper. URL: https://blogs.unity3d.com/2018/03/29/amd-radeon-rays-integrated-into-unitys-gpu-progressive-lightmapper/.

[23]. Bush J. Quake Lightmaps. URL: https://jbush001.github.io/ 2015/06/11/quake-lightmaps.html.

[24]. Sloan P.-P., Kautz J., and Snyder J. Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments. ACM Transactions on Graphics, vol. 21, issue 3, 2002, pp 527536.

[25]. Ren P., Wang J. et al. Global Illumination with Radiance Regression Functions. ACM Transactions on Graphics, vol. 32, issue 4, 2013, article no. 130, 12 p.

[26]. Thomas M. M., Forbes A. Deep Illumination: Approximating Dynamic Global Illumination with Generative Adversarial Network. arXiv:1710.09834, 2017. 10 p.

[27]. Alliez P., Ucelli G. et al. Recent Advances in Remeshing of Surfaces. In Shape Analysis and Structuring. Mathematics and Visualization. Springer, 2008, pp 53-82.

[28]. Cheng B., Liu Q. et al. Building Simplification Using Backpropagation Neural Networks: A Combination of Cartographers' Expertise and Raster-Based Local Perception. GIScience & Remote Sensing, vol. 50, issue 5, 2013, pp. 527-542.

[29]. Щербаков А.С. Расчет освещённости при помощи метода излучательности на графических процессорах для интерактивных приложений. Сборник тезисов лучших выпускных работ факультета ВМК МГУ 2017 года, Москва, 2017, стр. 95-97 / Shcherbakov A.S. Illuminance Calculation Using the Radiance Method on GPUs for Interactive Applications. Collection of abstracts of the best graduation papers of the faculty of the CMC MSU in 2017, Moscow, 2017, pp. 95-97 (in Russian).

[30]. Lorensen W., Cline H. Marching Cubes: A High Resolution 3D Surface Construction Algorithm. ACM SIGGRAPH Computer Graphics, vol. 21, issue 4, 1987, pp 163-169.

[31]. Anders K.-H. Level of Detail Generation of 3D Building Groups by Aggregation and Typefication. In Proc. of the XXII International Cartographic Conference, 2005, 8 p.

[32]. Pfister H., Zwicker M. et al. Surfels: Surface Elements as Rendering Primitives. In Proc. of the 27th Annual Conference on Computer Graphics and Interactive Techniques, 2000, pp. 335-342.

[33]. Bunnell M., Pellacini F. URL: Shadow Map Antialiasing https://developer.nvidia.com/gpugems/gpugems/part-ii-lighting-and-shadows/chapter-11-shadow-map-antialiasing

[34]. Rai P., Shubha S. A Survey of Clustering Techniques. International Journal of Computer Applications, vol. 7, no. 12, 2010, article no. 1, 5 p.

Информация об авторах / Information about authors

Александр Станиславович Щербаков — аспирант факультета Вычислительной математики и кибернетики, лаборатории компьютерной графики и мультимедиа. Сфера научных интересов: компьютерная графика, глобальное освещение, программирование GPU. Alexandr Shcherbakov is a graduate student of the Faculty of Computational Mathematics and Cybernetics, Laboratory of Computer Graphics and Multimedia. Research interests: computer graphics, global illumination, GPU programming.

Владимир Александрович ФРОЛОВ - кандидат физико-математических наук, старший научный сотрудник ИПМ РАН, научный сотрудник факультета ВМК МГУ. Сфера научных интересов: реалистичная компьютерная графика, моделирование освещённости, разработка программных систем оптического моделирования, параллельные и распределённые вычисления.

Vladimir FROLOV - PhD in computer graphics, senior researcher at Keldysh Institute of Applied Mathematics and researcher in computer graphics at Moscow State University. Research interests: realistic computer graphics, light transport simulation, elaboration of optical simulation software systems, GPU computing.

Владимир Александрович ГАЛАКТИОНОВ - доктор физико-математических наук, профессор, заведующий отделом компьютерной графики и вычислительной оптики. Сфера научных интересов: компьютерная графика, оптическое моделирование, создание программных систем оптического моделирования.

Vladimir GALAKTIONOV - Doctor of Science in physics and mathematics, Professor, Head of Computer graphics department. Research interests: computer graphics, optical simulation, elaboration of optical simulation software.

i Надоели баннеры? Вы всегда можете отключить рекламу.