Статья:

АЛГОРИТМ ФОТОННЫХ КАРТ И СТОХАСТИЧЕСКИЙ ПРОГРЕССИВНЫЙ АЛГОРИТМ ФОТОННЫХ КАРТ

Конференция: CCCVIII Студенческая международная научно-практическая конференция «Молодежный научный форум»

Секция: Технические науки

Выходные данные
Леньшина Д.С., Кравцова А.А. АЛГОРИТМ ФОТОННЫХ КАРТ И СТОХАСТИЧЕСКИЙ ПРОГРЕССИВНЫЙ АЛГОРИТМ ФОТОННЫХ КАРТ // Молодежный научный форум: электр. сб. ст. по мат. CCCVIII междунар. студ. науч.-практ. конф. № 29(308). URL: https://nauchforum.ru/archive/MNF_interdisciplinarity/29(308).pdf (дата обращения: 24.08.2025)
Лауреаты определены. Конференция завершена
Эта статья набрала 0 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

АЛГОРИТМ ФОТОННЫХ КАРТ И СТОХАСТИЧЕСКИЙ ПРОГРЕССИВНЫЙ АЛГОРИТМ ФОТОННЫХ КАРТ

Леньшина Дарья Сергеевна
студент, Сибирский государственный университет телекоммуникаций и информатики, РФ, г. Новосибирск
Кравцова Анна Александровна
студент, Сибирский государственный университет телекоммуникаций и информатики, РФ, г. Новосибирск

 

PHOTON MAP ALGORITHM AND STOCHASTIC PROGRESSIVE PHOTON MAP ALGORITHM

 

Lenshina Daria Sergeevna

student, Siberian State University of Telecommunications and Informatics, Russia, Novosibirsk

Kravtsova Anna Aleksandrovna

student, Siberian State University of Telecommunications and Informatics, Russia, Novosibirsk

 

Аннотация. В данной статье рассматривается алгоритм фотонных карт (Photon Mapping) и его модификации, включая стохастические прогрессивные фотонные карты. Описываются ключевые этапы алгоритмов и их практическая ценность для моделирования глобальной иллюминации, каустик и подсветки в сценах со сложной геометрией и оптикой. Уделяется внимание архитектуре двухпроходного рендеринга, структурам данных (kd-дерево) и выбору параметров. Анализируются достоинства и недостатки методов в сравнении с альтернативами.

Abstract. This paper discusses the Photon Mapping algorithm and its modifications, including stochastic progressive photon maps. It describes the key steps of the algorithms and their practical value for modeling global illumination, caustics, and backlighting in scenes with complex geometry and optics. Attention is paid to the architecture of two-pass rendering, data structures (kd-tree), and parameter selection. The advantages and disadvantages of the methods are analyzed in comparison with alternatives.

 

Ключевые слова: глобальная иллюминация, фотонные карты, каустики, SPPM, kd-дерево.

Keywords: global illumination, photon maps, caustics, SPPM, kd-tree.

 

Алгоритм фотонных карт – один из самых универсальных и распространенных алгоритмов рендеринга, метод двумерно-проходного (two-pass) глобального освещения, разработанный для приближенного решения уравнения рендеринга. Заключается в разделении задачи на две фазы:

  • из источников света эмитируются квазичастицы энергии – «фотоны», которые трассируются в сцене с записью столкновений;
  • при финальном проходе, идущем от камеры, освещённость и радиан в точках оцениваются по ближайшим записанным фотонам.

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

Рассмотрим подробнее базовый алгоритм фотонных карт, классическая схема которого включает в себя два этапа:

Построение карт фотонов: из каждого источника света испускаются фотоны, которые при пересечении поверхностей могут поглощаться, отражаться или преломляться согласно БРДФ (двунаправленная функция распределения отражения)/БСДФ (включает себя отражение, пропускание и преломление) материала, а события выбираются методом «русской рулетки» (стохастически обрывается путь с вероятностью 1-p, для сохранения корректности оценки при «выживании» вклад делится на p). Положения, направления прихода и вклад фотонов суммируются в пространственной структуре данных, обычно в качестве этого выступает kd-дерево [2]. Зачастую на практике строят две карты: глобальную (для рассеянного света) и отдельную для каустик для повышения точности и чёткости.

Рендеринг: для каждого пикселя луч от камеры находит ближайшее пересечение, после чего «вклад» непрямого освещения оценивается по N ближайшим фотонам в окружении точки. Директный свет обычно считается стандартными методами – с помощью теневых лучей или выбора источника, а зеркальные или преломляющие компоненты – трассировкой лучей [4].

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

Классический метод фотонных карт ограничен объёмом памяти: для последующей выборки возникает необходимость хранить все фотоны. Прогрессивный метод фотонных карт (PPM) решает эту проблему, разделяя процесс на последовательности итераций: сначала генерируются видимые точки на путях, идущих от камеры, затем из источников выпускаются фотоны, которые вносят «вклад» в точки поблизости. По мере итераций радиус поиска постепенно уменьшается, повышая точность оценки.

Стохастический прогрессивный метод фотонных карт (SPPM) более развит: набор видимых точек и фотоны переоцениваются заново на каждой итерации, что дает лучшую утилизацию памяти и устойчивую сходимость в широком спектре сцен, особенно с «трудными» путями (например, многократные преломления через стекло). SPPM использует простое ядро постоянной плотности в локальной касательной плоскости, а для согласованности оценки радиус  и накопленный поток корректируются прогрессивно [2]. При росте числа итераций радиус стремится к нулю, а оценка радиана становится согласованной.

В популярных трассировщиках, таких как POV-Ray, алгоритм фотонных карт используется как предварительный этап для расчёта каустик и мягкой непрямой подсветки, после чего финальное изображение формируется обычным обратным трассировщиком [3]. Для достижения эффективности необходимо применять фотоны там, где это необходимо – стекло, вода, металлы и при этом следить за ограничением объёма работ: фотоны испускаются преимущественно в направлении объектов, способных создавать каустики, а для прочих частей сцены используется стандартное расчётное освещение. Такой выбор «снижает» выстрелы и экономит время.

В сравнении с обычной трассировкой лучей рассматриваемый алгоритм особенно эффективен для каустик и условий, где свет трудно «поймать» инкрементальными путями от камеры. Двунаправленная трассировка лучей и транспорт Метрополиса (метод рендеринга для сложных световых путей) улучшают покрытие пространства путей, но испытывают трудности с тонкими преломляющими структурами и высокими порядками взаимодействий. Метод фотонных карт, вводя локальную интерполяцию плотности энергии, получает меньшую дисперсию в этих случаях за счёт контролируемого смещения. Прогрессивные варианты (PPM, SPPM) уменьшают смещение по мере итераций, добиваясь согласованной сходимости [4].

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

  1. Размытие мелких деталей и «ореолы» вокруг границ теней при слишком большом радиусе или чрезмерном числе k-соседей.
  2. Появление пятен различной яркости при недостатке фотонов.
  3. Углы, стыки или тонкие перегородки могут просвечивать, а слишком светлые – прокрашиваются соседним цветом при некорректной нормализации или слишком агрессивной фильтрации.

Для подавления проблем уменьшают радиус поиска п мере накопления фотонов, используют конусный фильтр, повышают плотность фотонов в критических областях и тщательно настраивают учёт прямого света и каустик [1].

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

 

Список литературы:
1. POV-Ray. What is Photon Mapping? [Электронный ресурс] // POV-Ray 3.6 Documentatio. – Режим доступа: https://www.povray.org/documentation/view/3.60/163/ (дата обращения 09.08.2025)
2. Wikipedia. Photon mapping [Электронный ресурс] – Режим доступа: https://en.wikipedia.org/wiki/Photon_mapping (дата обращения 11.08.2025)
3. Фарр М., Якоб В., Хамфрис Г. Stochastic Progressive Photon Mapping [Электронный ресурс] // Physically Based Rendering: From Theory to Implementation (PBR Book). – 2018. – Режим доступа: https://pbr-book.org/3ed-2018/Light_Transport_III_Bidirectional_Methods/Stochastic_Progressive_Photon_Mapping (дата обращения 12.08.2025)
4. Халбер М. COS 526 Programming Assignment 1 – Photon Mapping (пояснительная записка [Электронный ресурс] // Princeton University. 2016. – Режим доступа: https://www.cs.princeton.edu/courses/archive/fall16/cos526/assignment1/mhalber/writeup.html (дата обращения 12.08.2025)