Трассировка лучей: Монте-Карло моделирование глобального освещения и расчёт переноса света
Введение: рождение глобального освещения в генерации синтетических изображений
Глобальное освещение (global illumination) — это комплексное понятие, предполагающее учёт не только прямого освещения от источников света, но и косвенного взаимодействия, возникающего в результате многократного рассеяния и отражения света между поверхностями. В области компьютерной графики впервые имитация этого эффекта стала возможной благодаря адаптации методов Монте-Карло к сцене. Наиболее ранним известным применением считается работа Трегензы (Tregenza), опубликованная в 1983 году и посвящённая проектированию освещения; именно это исследование принято считать первым примером применения глобального освещения в процессе синтеза изображений (Tregenza 1983).

На этой основе Cook разработал алгоритм распределённого трассирования лучей (distribution ray-tracing), который с использованием метода Монте-Карло позволил вычислять глянцевые отражения, мягкие тени от протяжённых источников света, размытие в результате движения и эффект глубины поля (Cook et al. 1984; Cook 1986). Однако общий вид уравнения светотранспорта (Luminos Transport Equation, LTE) был получен значительно позже — он был сформулирован лишь в работах Kajiya (1986) и Immel, Cohen и Greenberg (1986).
Каидза в 1983 году разработал ориентированный на конкретную задачу общий алгоритм (трассировки лучей). Среди следующих важных работ в области, основанной на методе Монте-Карло, — докторская диссертация Ширли (1990) и статья Кирка и Арво 1991 года, в которой исследуются источники погрешностей в алгоритмах рендеринга.
Теоретические основы уравнения переноса света
Математическая основа трассировки путей опирается на уравнение, описывающее перенос света в сцене. Интегральная форма и структурный анализ этого уравнения во многом восходят к работе, заложенной в докторской диссертации Veach (1997), которая предоставляет исчерпывающий обзор различных форм и математической структуры уравнения переноса света.
Связь между теорией переноса излучения и графическими алгоритмами была исследована Arvo в 1993 и 1995 годах. Эта работа выявила глубокую аналогию между , которую классическая физика использует для прогнозирования общего поведения частиц и их взаимодействий, и алгоритмами рендеринга (Arvo 1993; Arvo 1995a). Эта связь показывает, что path tracing — это не просто техника визуализации, но и метод, имеющий теоретическую основу, совпадающую с физическим моделированием частиц.
Механизмы трассировки лучей и основные методы
Что происходит с трассировкой путей при использовании метода Монте-Карло?
В основе трассировки лучей лежит , применяемая для решения уравнения переноса света. Этот подход позволяет приближённо вычислить неопределённый интеграл с помощью случайной выборки; каждый трассируемый световой путь выполняет функцию статистического образца распределения энергии в сцене. С увеличением числа образцов усреднённый результат приближается к истинному значению, но одновременно проявляется заметный на изображении эффект (noise); поэтому баланс между качеством изображения и вычислительными затратами занимает центральное место в трассировке лучей.
Прямое освещение: метод прогнозирования событий
В методе трассировки путей техника (next event estimation), используемая для расчёта прямого освещения, была впервые описана Ковью и его соавторами в 1967 году в контексте переноса нейтронов. Этот метод обеспечивает более эффективное сэмплирование прямого освещения за счёт отправления прямого луча видимости из каждой точки трассируемого пути к источникам света сцены.
Русская рулетка: дискуссии о завершении пути и предвзятости
Для ограничения стоимости отслеживаемых путей используется техника (Russian roulette), которая была введена в графику Arvo и Kirk в 1990 году. До этого Hall и Greenberg (1983) предложили адаптивно завершать лучевое дерево, не отслеживая ветви, несущие световой путь менее определённого минимального вклада. Техника, предложенная Arvo и Kirk, является (unbiased) методом; однако в некоторых случаях допустимая степень смещения может привести к получению меньшего количества шума.
В PathIntegrator вероятность завершения по методу «русской рулетки» определяется (коэффициентом отражения) поверхности последнего акта рассеяния; этот подход был впервые предложен Сзесци и соавторами (2003). Данный метод, основанный на альбедо, является приемлемым, однако более совершенный подход предполагает, что вероятность завершения должна учитывать и падающий на сцену свет: предпочтительнее более агрессивное завершение путей в тёмных участках сцены и менее агрессивное — в освещённых. Ворба и Крживанек (2016) предложили метод, основанный на приближённом представлении освещения сцены, а также применили технику (splitting), увеличивающую число путей в важных областях.
Методы оптимизации и снижение статистической дисперсии
Базовым узким местом трассировки путей является большое количество требуемых сэмплов для получения результатов высокого качества, что серьёзно увеличивает вычислительные затраты. В связи с этим были разработаны различные техники оптимизации, направленные на приближение к тому же физически корректному результату при меньшем количестве сэмплов.
Метод контрольных переменных (Control Variates)
Контрольные переменные
Среди актуальных работ в этой области можно выделить работы Русселе и соавторов (2016), определяющих контрольные переменные на основе корреляций между близкими пикселями; работы Мюллера и соавторов (2020), показавших, насколько эффективны нейронные сети при вычислении контрольных переменных; а также работы Креспo и соавторов (2021), которые подгоняют образцы полиномов в каждом пикселе и используют их в качестве контрольных переменных, тем самым снижая погрешность в пикселях, где подынтегральная функция является плоской.
Освещение с использованием предварительного кэширования: повторное использование вычислений для снижения затрат
Одним из подходов к повышению производительности трассировки лучей является переиспользование вычислений между близкими точками сцены. (irradiance caching) является примером такого подхода: оно сохраняет иррадиансу косвенного освещения в разреженных точках поверхностей сцены и позволяет безопасно интерполировать иррадиансу, поскольку прямое освещение обычно изменяется медленно (Ward et al. 1988; Ward 1994).
Табеллион и Ламолетт (2004) предложили ряд дополнительных улучшений, которые сделали возможным применение данного метода кластеризации в кинематографических проектах. Крживанек и его соавторы обобщили метод кластеризации с помощью размытия (bleaching), расширив его до метода кэширования излучения (radiance caching), который позволяет более точно моделировать затенение за счёт сохранения более сложного направленного распределения излучения (radiance) от зеркальных отражающих поверхностей (Крживанек и др., 2005). Шварцгаупт и его коллеги предложили лучший способ оценки допустимости точки кластера с использованием разложения второго порядка для падающего света, а Чжао и его соавторы разработали ряд улучшений, особенно полезных для зеркальных отражающих сцен (Schwarzhaupt et al. 2012; Zhao et al. 2019).
В последние годы роль нейронных сетей в этой области также растёт: Рен и его соавторы впервые использовали нейронные сети для представления распределения радона в сцене (Ren et al. 2013); позднее Мюллер и его соавторы показали, что полностью связанная сеть, обученная представлять радон во время рендеринга, обеспечивает как высокую производительность, так и точное косвенное освещение (Müller et al. 2021).
Сэмплирование распределения продукта: эффективность при прямом освещении
При расчёте прямого освещения разработано несколько подходов к сэмплированию источника света и (product distribution) с помощью BSDF (Burke et al. 2005; Cline et al. 2006). Сэмплирование продукта может давать лучшие результаты, чем взвешенные световые и BSDF-эмплы, когда ни одно из этих двух распределений хорошо не описывает реальный продукт.
Кларберг вместе с Русселем и его соавторами разработали техники, основанные на эффективном сэмплировании произведений, представляя BSDF и освещение в базисе вейвлетов (Clarberg et al. 2005; Rousselle et al. 2008; Clarberg and Akenine-Möller 2008a). Эффективность прямого освещения можно дополнительно повысить за счёт сэмплирования тройного произведения распределения BSDF, освещения и видимости; этот вопрос исследовали Ghosh и Heidrich (2006), а также Clarberg и Akenine-Möller (2008b).
Научные итоги: научное значение трассировки лучей
Трассировка лучей представляет собой один из важнейших методов компьютерной графики, имеющий глубокое научное значение в области визуализации и моделирования света. Этот математически строгий подход к симуляции распространения света позволил достичь беспрецедентного уровня реалистичности в компьютерных изображениях.
С научной точки зрения, трассировка лучей основана на фундаментальных принципах геометрической оптики и физики взаимодействия излучения с веществом. Метод позволяет точно моделировать такие явления, как мягкие тени, отражения, преломление и рассеяние света, которые ранее были доступны лишь в ограниченной степени или требовали упрощенных приближений.
Важнейшим вкладом трассировки лучей в науку является возможность решения уравнения переноса излучения. Это уравнение описывает распространение света в среде с учетом многократного рассеяния, поглощения и эмиссии. Трассировка лучей предоставляет численный метод для его решения через метод Монте-Карло, что открыло новые направления в исследованиях глобального освещения.
Научная ценность этого метода также проявляется в его способности моделировать сложные оптические эффекты, такие как интерференция, дифракция и поляризация. Развитие физически обоснованной трассировки лучей способствовало развитию таких дисциплин, как радиометрия, фотометрия и компьютерная визуализация.
Практическое применение научных разработок в области трассировки лучей охватывает широкий спектр областей: от создания визуальных эффектов в кинематографе и видеоиграх до научной визуализации в медицине, архитектуре и инженерии. Методы оптимизации трассировки лучей стимулировали развитие параллельных вычислений и архитектуры вычислительных систем.
Таким образом, трассировка лучей не только стала важным инструментом в компьютерной графике, но и способствовала развитию теоретических основ физической визуализации, оставив значительный след в истории компьютерных наук и математики.
Трассировка путей выделяется среди современных компьютерных график как одна из теоретических и практических основ этой области, поскольку ей удаётся статистически уловить физическую достоверность переноса света. Эволюционная линия, охватывающая общий алгоритм Каджи 1983 года, интегральную форму уравнения Виача, связь между теорией переноса и графикой по Дж. Авру и современные методы выборки на основе нейронных сетей, демонстрирует как математическую глубину, так и практическую зрелость этой области.
Противоречие между смещением и шумом—выбор между смещёнными, но менее зашумлёнными методами и несмещёнными оценщиками, которые в долгосрочной перспективе дают верные результаты—подчёркивает, что трассировка лучей является не просто инструментом визуализации, но и серьёзным научным подходом, выполняющим статистический вывод. Такие методы оптимизации, как контроль переменных, трассировка/излучение с помощью метода Монте-Карло и сэмплирование распределения продуктов, сделали этот метод применимым в таких областях, как кино, архитектурная визуализация и интерактивные приложения.
Академическая оценка и список литературы
Указанные ниже источники содержат работы, на которые даны ссылки в тексте:
- Бёрк и др. (2005)
- Кларберг и Акенин-Мёллер (2008a; 2008b)
- Кларберг и др. (2005)
- Ковью и др. (1967)
- Креспo и др. (2021)
- Клайн и др. (2006)
- Гхош и Хайдрих (2006)
- Холл и Гринберг (1983)
- Иммель, Коэн и Гринберг (1986)
- Каидзя (1986)
- Кирк и Арво (1991)
- Лафортюн и Виллемс (1994; 1995)
- Мюллер и др. (2020; 2021)
- Рэнь и др. (2013)
- Рузель и др. (2008; 2016)
- Шварцгаупт и др. (2012)
- Ширли (1990)
- Шесть э тал. (2003)
- Табеллион и Ламорлет (2004)
- Трегенза (1983)
- Ворба и Крживанек (2016)
- Veach (1997)
- Уорд (1994); Уорд и др. (1988)
- Ванг и Акерлунд
- Чжао и др. (2019)
Примечание:
Примечание об источнике: Данное исследование было подготовлено и актуализировано в формате академического технического обзора на основе архивной документации с https://www.pbr-book.org/4ed/Light_Transport_I_Surface_Reflection/Further_Reading.
Have thoughts, questions, or benchmarks on this topic? Join the discussion on our forums.
Join Discussion ➔
Alătură-te conversației