Назад в библиотеку

Исследование методов трассировки луча

Автор: Каламитра М.В., Бабков В.С.
Источник: Інформаційні управляючі системи та комп’ютерний моніторинг (ІУС-2013) / Матерiали IV мiжнародної науково-технiчної конференцiї студентiв, аспiрантiв та молодих вчених. — Донецьк, ДонНТУ — 2013

Аннотация

Каламитра М.В., Бабков В.С. Исследование методов трассировки луча. Выполнен анализ методов фотореалистичной визуализации, в частности, методов трассировки луча. Отобрана группа методов трассировки луча по критерию точности визуализируемых эффектов.

Общая постановка проблемы

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

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

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

Уравнение рендеринга

Рисунок 1 – Уравнение рендеринга

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

Решение задач и результаты исследований. Существует множество разновидностей методов трассировки луча, которые имеют свои характерные особенности (физическая модель распространения света, модель отражений, модель освещения). Практически каждый алгоритм будет включать следующие этапы: расчет лучей, трассировка хода лучей, пересечение с примитивами, затенение. Наиболее популярным методом является обратная трассировка луча [1]. Алгоритм рассматриваемого метода: генерирование первичного луча из виртуального глаза (камеры), поиск пересечения луча с поверхностью сцены, генерирование теневого, отраженного, преломленного лучей из точки пересечения, вычисление характеристик глобального освещения в зависимости от физических свойств объектов. Модифицированными примерами обратной трассировки луча являются методы распределенной трассировки луча, алгоритмы трассировки луча на основе метода Монте-Карло.

Проанализируем метод распределенной трассировки луча. При попадании луча на поверхность генерируется множество отраженных лучей. Процесс испускания множества лучей называется сэмплированием ДФО (BRDF sampling). Направления лучей выбираются в зависимости от значения ДФО – количество испускаемых лучей по направлению пропорционально значению ДФО по этому же направлению. Идея метода состоит в распределении направлений лучей согласно аналитической функции, способной реализовать нечеткие явления (размытие, глубина резкости и т.д.). Благодаря сэмплированию в методе распределенной трассировки лучей возможны такие эффекты:

Качество этого алгоритма самое высокое из большинства методов. Однако из-за сэмплирования алгоритм имеет и самую высокую вычислительную сложность [2].

Рассмотрим метод Монте-Карло [3]. Методика на основе методов Монте-Карло и трассировки луча численно решает уравнение рендеринга [4], позволяя с высокой точностью рассчитывать освещение сцен и строить изображения высокореалистичного качества. Идея метода Монте-Карло прямой трассировки луча состоит в статистическом воспроизведении механизма распространения света путем моделирования всевозможных траекторий лучей. Траектории световых частиц (фотонов) прослеживаются на всех этапах существования, от момента их генерации источниками света до поглощения или выхода из сцены. Направление, в котором испускается фотон, и стартовая позиция на источнике света определяются стохастически согласно фотометрическому распределению энергии источника и его геометрической форме. Траектория фотона трассируется до пересечения с поверхностью. При выборе дальнейшего поведения фотона согласно свойствам поверхности используется принцип рулетки. После того, как глобальная освещенность сцены рассчитана методом Монте-Карло, ее фотореалистичное изображение можно построить с помощью детерминистического алгоритма обратной трассировки луча. Для незатененной области рассчитывается суммарный коэффициент поглощения света при взаимодействии с встречаемыми на его пути до источника поверхностями и средами. Полученное трассировкой первичных лучей изображение дополняется “зеркальными” отражениями, а также видом через прозрачные поверхности. Для этого алгоритм трассировки применяется к каждому отраженному или преломленному лучу.

Алгоритм прямой трассировки луча. Идея заключается в бросании лучей от источника света. Однако такая особенность значительно замедляет работу алгоритма и снижает его эффективность. Практика показала, что лучи, выпущенные из источника света, так и не достигают воображаемой камеры. Но, есть частные случаи применения этого алгоритма, например, расчет эффекта каустики от преломляющих поверхностей, применение в алгоритмах Монте-Карло, методе фотонных карт.

Проанализируем группу многопроходных методов, основанных на методах излучательности (radiosity)[5] и трассировки луча. К данной группе относятся методы двунаправленной трассировки пути, Metropolis Light Transport, фотонные карты. Алгоритм излучательности рассматривает частный случай решения уравнения освещенности, когда материалы являются диффузными. Схема метода излучательности заключается в разбиении поверхности сцены на патчи. Патч – элементарная единица поверхности. Дискретизация поверхности на патчи позволяет заменить интеграл в уравнении освещенности на конечную сумму интегралов специального вида. Каждый такой интеграл, называемый форм-фактором, задает взаимное влияние двух отдельных патчей. Зная значение каждого форм-фактора, процесс синтеза изображений сводится к решению системы линейных алгебраических уравнений. Основная трудность в алгоритме – расчет форм-факторов. В работе [5] рассмотрен алгоритм полукуба для расчета форм-факторов. Согласно такому подходу форм-фактор может быть рассчитан геометрическим способом по аналогии Нуссельта. На последнем этапе метода излучательности происходит решение системы линейных алгебраических уравнений. Метод излучательности позволяет быстро рассчитывать освещение для диффузных поверхностей.

Метод двунаправленной трассировки пути является усовершенствованным методом Монте-Карло, основная идея, которого состоит в одновременном лучеиспускании из выбранного источника света и виртуального глаза. Создаются отрезки пути, начиная от виртуальной камеры и другие отрезки пути, которые берут свое начало из источника света. Длины каждого из отрезков пути определяется исходя из длины максимального пути, либо с помощью метода русской рулетки, который случайно остановит путь после определенного критерия. При наличии двух скомбинированных путей, которые образуют ребра между концами каждого отрезка пути, создается один путь от виртуального глаза до источника света. Для проверки правильности составленного пути, точки пересечения путей луча с объектами сцены, идущего от виртуального глаза и из источника света, соединяются между собой теневыми лучами. Используя такой подход, различные световые комбинации берутся во внимание, не только из первичных источников, но и из вторичных, третичных, и т.д. источников света [6]. Тестовые результаты показывают сравнительно лучшее качество изображения для сцен замкнутого типа, где важную роль играет непрямое освещение.

Метод Metropolis Light Transport предназначен для решения проблем глобального освещения, таких как: сильное непрямое освещение, каустики, малые геометрические отверстия. Ключевой идеей метода является повторное использование путей передачи света с целью получений так называемого вклада в итоговое изображение. Алгоритм состоит из двух этапов. На первом этапе, двунаправленный рейтрейсер используется для генерирования исходной последовательности путей передачи света. На втором этапе, каждый начальный путь мутирует, и, в свою очередь, каждая мутация либо принимается, либо отклоняется в зависимости от тщательно отобранной вероятности для того, чтобы пути, подвергающиеся сэмплированию, давали лучший эффект. В данном контексте, мутация представляет собой перемещение, удаление или добавление вершины. На завершающем этапе происходит запись результирующих путей на плоскость изображения [7]. Среди достоинств можно отметить использование малого объема памяти – пространство путей исследуется локально с помощью предпочтительных мутаций, которые вносят небольшие изменения в текущий путь. Метод MLT наиболее подходит для сцен с ярким рассеянным освещением. Данный алгоритм нельзя считать универсальным средством решения всех проблем глобального освещения. Пример расширения метода MLT [8], где рассматривается подход к реализации эффектов анизотропного рассеивания в неоднородной среде: туман, дым, облака (participating media). Расширение метода основано на внесении изменений в стратегию мутации.

Метод фотонных карт – универсальный алгоритм, способный моделировать глобальное освещение, включая эффекты каустики и диффузных отражений (diffuse interreflections). Этот метод обеспечивает такую же гибкость, как и общие методы трассировки луча на основе метода Монте-Карло. Постановка задачи метода фотонных карт сводится к вычислению интеграла освещенности. Алгоритм метода фотонных карт начинается с генерирования фотонов из источника света. Количество фотонов зависит от распределения световой энергии данного источника света. После завершения трассировки фотонов составляется фотонная карта, которая представляет собой структуру пространственного разбиения. Это необходимо для выборки определенного количества фотонов в произвольной точке пространства. После построения фотонной карты начинается этап сбора освещенности. Здесь используется либо распределенная трассировка лучей, либо константный радиус сбора. Алгоритм глобального освещения построен на фотонных картах, что представляет собой двухпроходный метод. Первый проход строит фотонные карты, выпуская фотоны из источника света в сцену и сохраняя их в фотонной карте, когда они соприкасаются с незеркальными объектами. Второй проход – этап визуализации – использует статистическую технику на фотонных картах для извлечения информации о входящем потоке световой энергии и отраженном сиянии в любой точке в сцене [9]. Метод фотонных карт поддерживает недиффузные объекты и эффекты каустики. Для большинства сцен метод фотонных карт значительно быстрее, и результат выглядит лучше из-за того, что ошибка в этом методе имеет более низкую частоту, чем в методах Монте-Карло.

Проанализировав методы трассировки лучей, выделим группу методов по критерию высокого качества и точности выходного изображения. Обратная трассировка лучей балансирует между качеством и быстродействием, но недостатком его является подмена расчетов непрямого освещения расчетами абстрактного окружающего света. Распределенная трассировка лучей обладает широким рядом достоинств в плане фотореалистичных эффектов, но при этом он не предназначен для расчета глобального освещениях [6]. Трассировка лучей на основе метода Монте-Карло и прямая трассировка лучей лежат в основе многопроходных методов. За методом Монте-Карло было замечено, что результирующее изображение сильно зашумлено при недостаточном количестве узлов. Двунаправленная трассировка путей, Metropolis Light Transport и метод фотонных карт выдерживают фильтр по точности и высокому качеству. По данным литературным источникам [6], [7], [8], [9] метод фотонных карт, двунаправленная трассировка путей и Metropolis Light Transport с высокой точностью имитируют прямое и непрямое освещение в сцене, а также визуализируют дополнительные фотоэффекты, такие как диффузные отражения, каустик, дым, облака (participating media).

Таким образом, к методам фотореалистичной визуализации относятся следующие методы: метод фотонных карт, двунаправленная трассировка путей и Metropolis Light Transport.

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

Список использованной литературы

1. Glassner, A. S., Ed. An Introduction to Ray Tracing. Academic Press, San Diego, 1989.
2. Cook, Robert L.: "Distributed Ray Tracing". Computer Graphics 18 (3), pp. 137- 145, 1984.
3. H. W. Jensen, J. Arvo, P. Dutre, A. Keller, A. Owen, M. Pharr, and P. Shirley. Monte carlo ray tracing. In ACM SIGGRAPH Course Notes 44, 2003.
4. Kajiya James T., “The rendering equation”, Dallas, August, Vl 20, N.4, 1986.
5. Cohen Michael F., Greenberg Donald P., “The hemi-cube, A radiosity solution for complex environment”, Cornell University, Ithaca, N.Y., 1985.
6. Lafortune, Eric P.; Yves D. Willems: "Bidirectional Path Tracing". Proceedings of Computer Graphics, pp. 95-104, 1993.
7. Veach, E., and guibas, L. J. Metropolis light transport. In SIGGRAPH ’97 (August 1997), pp. 65–76..
8. M. Pauly, T. Kollig, and A. Keller, Metropolis Light Transport for Participating Media, Rendering Techniques 2000 (Proc. 11th Eurographics Workshop on Rendering), Springer, 2000, pp. 11–22.
9. Jensen H. W.: A Practical Guide to Global Illumination Using Photon Mapping. In SIGGRAPH 2002 CourseNotes CD-ROM (July 2002), Associationfor Computing Machinery, ACM SIGGRAPH. Course 43.