Введение

Метод компьютерной графики

Трассировка пути — это метод Монте-Карло в компьютерной графике для рендеринга изображений трехмерных сцен, обеспечивающий реалистичное глобальное освещение. По сути, алгоритм интегрирует всю освещенность, достигающую одной точки на поверхности объекта. Эта освещенность затем уменьшается функцией отражательной способности поверхности (BRDF) для определения того, какая её часть направлена к камере наблюдения. Эта процедура интегрирования повторяется для каждого пикселя в конечном изображении. В сочетании с физически корректными моделями поверхностей, точными моделями реальных источников света и оптически правильными камерами, трассировка пути может создавать статичные изображения, неотличимые от фотографий. Трассировка пути естественным образом моделирует многие эффекты, которые необходимо специально добавлять в другие методы (традиционная трассировка лучей или рендеринг методом сканирующих линий), такие как мягкие тени, глубина резкости, размытие в движении, каустики, окружающая окклюзия и непрямое освещение. Реализация рендерера, включающего эти эффекты, соответственно, упрощается. Расширенная версия алгоритма реализуется посредством объемной трассировки пути, которая учитывает рассеяние света в сцене. Благодаря своей точности, несмещенности и алгоритмической простоте, трассировка пути используется для генерации эталонных изображений при тестировании качества других алгоритмов рендеринга. Однако алгоритм трассировки пути относительно неэффективен: для получения высококачественных изображений, свободных от шумовых артефактов, необходимо отследить очень большое количество лучей. Было разработано несколько вариантов, которые более эффективны, чем исходный алгоритм для многих сцен, включая двунаправленную трассировку пути, объемную трассировку пути и транспорт света методом Метрополиса.

История

Уравнение рендеринга и его применение в компьютерной графике были представлены Джеймсом Каджией в 1986 году. Трассировка пути была предложена тогда как алгоритм для нахождения численного решения интеграла уравнения рендеринга. Десять лет спустя Лафортун предложил множество усовершенствований, включая двунаправленную трассировку пути. Метод переноса света методом Метрополиса, позволяющий изменять ранее найденные пути для повышения производительности в сложных сценах, был представлен в 1997 году Эриком Вичем и Леонидасом Дж. Гибасом. В последнее время процессоры и графические процессоры стали достаточно мощными для более быстрой визуализации изображений, что вызвало больший интерес к алгоритмам трассировки пути. Тим Перселл впервые представил алгоритм глобального освещения, работающий на графическом процессоре, в 2002 году. В феврале 2009 года Остин Робисон из Nvidia продемонстрировал первую коммерческую реализацию трассировщика пути, работающего на графическом процессоре, а за ней последовали и другие реализации, например, Владимира Койлазова в августе 2009 года. Этому способствовало развитие инструментариев программирования GPGPU, таких как CUDA и OpenCL, а также SDK для трассировки лучей на GPU, таких как OptiX. Трассировка пути играет важную роль в киноиндустрии. Ранее фильмы использовали сканлайновый рендеринг для создания компьютерной графики, визуальных эффектов и анимации. В 1998 году Blue Sky Studios создала короткометражный фильм "Кролик" ("Bunny"), удостоенный премии "Оскар", с использованием собственного трассировщика пути CGI Studio, с реалистичными мягкими тенями и эффектами непрямого освещения. Мультфильм "Дом монстров" ("Monster House") от Sony Pictures Imageworks в 2006 году стал первым полнометражным анимационным фильмом, полностью отрисованным с помощью трассировщика пути, используя коммерческий рендерер Arnold. Кроме того, Walt Disney Animation Studios использует собственный оптимизированный трассировщик пути под названием Hyperion с момента производства "Большой герой 6" ("Big Hero 6") в 2014 году. Pixar Animation Studios также внедрила трассировку пути в свой коммерческий рендерер RenderMan.

Описание

Уравнение Каджии опирается на три основных принципа оптики: принцип глобального освещения, принцип эквивалентности (отраженный свет эквивалентен излучаемому свету) и принцип направления (отраженный и рассеянный свет имеют направление). В реальном мире объекты и поверхности видны благодаря отражению света. Этот отраженный свет, в свою очередь, освещает другие объекты. Из этого простого наблюдения вытекают два принципа. I. Для заданной внутренней сцены каждый объект в помещении должен вносить вклад в освещение каждого другого объекта. II. Во-вторых, не следует проводить различий между освещением, испускаемым источником света, и освещением, отраженным от поверхности. В 1984 году был изобретен другой метод, называемый радиосити, который был верен обоим этим принципам. Однако радиосити связывает общую освещенность поверхности с равномерной яркостью, излучаемой этой поверхностью. Это вынуждало все поверхности быть ламбертовскими, или "совершенно диффузными". Хотя радиосити привлек большое внимание после своего появления, в реальном мире не существует идеально диффузных поверхностей. Понимание того, что рассеяние света от поверхности зависит как от входящего, так и от исходящего направления, является ключевым принципом двунаправленной функции распределения отражения (BRDF). Эта зависимость от направления стала предметом исследований, приведших к публикации важных идей в 1990-х годах, поскольку учет направления всегда требовал значительного увеличения времени вычислений на настольных компьютерах. Следует принцип III. III. Освещение, исходящее от поверхностей, должно рассеиваться в определенном направлении, которое является функцией входящего направления падающего освещения и направления, в котором производится выборка исходящего света. Уравнение Каджии является полным обобщением этих трех принципов, а трассировка лучей, которая приближенно решает это уравнение, сохраняет им верность в своей реализации. Существуют и другие принципы оптики, которые не являются предметом изучения уравнения Каджии, и поэтому часто трудно или некорректно моделируются этим алгоритмом. Трассировка лучей затрудняется оптическими явлениями, не охваченными этими тремя принципами. Например:

Яркие, четкие каустики; яркость масштабируется в зависимости от плотности освещенности в пространстве. Подповерхностное рассеяние; нарушение принципа III, описанного выше. Хроматическая аберрация, флуоресценция, иридесценция; свет представляет собой спектр частот.

Выступление

Трейсер траекторий непрерывно отбирает образцы пикселей изображения. Изображение начинает становиться узнаваемым уже после нескольких образцов на пиксель, возможно, 100. Однако для того, чтобы изображение "сошлось" и снизило шум до приемлемого уровня, обычно требуется около 5000 образцов для большинства изображений, и значительно больше для сложных случаев. Шум особенно заметен в анимации, придавая ей нежелательное качество "зернистости", проявляющееся в случайном мерцании. Основным ограничением производительности при трассировке траекторий является сложный геометрический расчет трассировки луча. Важная выборка (importance sampling) – это техника, направленная на уменьшение количества лучей, проходящих через сцену, при сохранении корректной сходимости к исходящей освещенности в точке поверхности. Это достигается за счет увеличения количества лучей в направлениях, где освещенность и так была бы выше. Если плотность лучей, направленных в определенных направлениях, соответствует силе вклада в этих направлениях, результат будет идентичным, но при этом будет использовано значительно меньше лучей. Важная выборка используется для соответствия плотности лучей закону косинусов Ламберта, а также для соответствия BRDF. Алгоритм переноса света методом Метрополиса может привести к получению изображения с меньшим шумом при меньшем количестве образцов. Этот алгоритм был разработан для ускорения сходимости в сценах, где свет должен проходить через узкие коридоры или небольшие отверстия, чтобы достичь части сцены, видимой камерой. Он также показал хорошие результаты в корректном отображении сложных ситуаций с каустиками. Вместо генерации случайных траекторий, новые траектории выборки создаются как небольшие модификации существующих. В этом смысле алгоритм "запоминает" успешные траектории от источников света до камеры.

Функции рассеивания

Отражающие свойства (количество, направление и цвет) поверхностей моделируются с использованием BRDF. Эквивалентом для прошедшего света (свет, проходящий сквозь объект) являются BSDF. Трассировщик лучей может в полной мере использовать сложные, тщательно смоделированные или измеренные функции распределения, которые определяют внешний вид объекта ("материал", "текстура" или "затенение" в терминологии компьютерной графики).