43. Глобальная модель освещения с трассировкой лучей. - p1xelse/CG GitHub Wiki

Информация от Курова с консультации

Модель предназначена для изучения свойств объекта, выполнение каких-то вычислений и тд.

Есть простая модель освещения, которая включает в себя:

  1. Диффузную составляющую отражения
  2. Зеркальную составляющую
  3. Рассеянное освещение

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

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

I = IpKp + IиКд + IиКз + IзКз + IпрКпр.

Iр - интенсивность рассеянного освещения; с помощью коэффициента мы учитываем какие либо потери, значения лежат от 0 до 1
Iи - интенсивность источника; Kд - коэффициент диффузного отражения; Кз - коэффициента зеркального отражения. IзКз - добавляем отраженность от других поверхностей, учитывая долю; Iпр - интенсивность преломленного луча; Kпр - коэффициента пропускания.

Информация из Роджерса + из интернета

Модель освещения предназначена для того, чтобы расчитать интенсивность отражённого к наблюдателю света в каждой точке (пикселе) изображения. Глобальная модель учитывает не только свет и ориентацию поверхностей, но также и свет, отражённый от других объектов (или пропущенный через них). Благодаря этому глобальная модель освещённости способна воспроизводить эффекты зеркального отражения и преломления лучей (прозрачность и полупрозрачность), а также затенение. Она является составной частью алгоритма удаления невидимых поверхностей методом трассировки.

Если рассмотреть сцену, содержащую в числе прочих зеркальные и полупрозрачные поверхности, то изображение будет включать, во-первых, проекции самих объектов, освещённых одним или несколькими источниками света. В некоторых своих частях эти объекты будут искажены за счёт преломления лучей в прозрачных и полупрозрачных телах. Во-вторых, часть объектов будет отражаться зеркальными поверхностями, и эти отражения появятся на проекциях зеркальных объектов. На изображённой сцене точки на поверхности призмы C, D видны на картинной плоскости дважды: один раз - сквозь полупрозрачный параллелепипед в виде точек \widetilde{C},~\widetilde{D}, а второй раз - как дважды отраженные невидимой поверхностью параллелепипеда и зеркалом C^{''}, D^{''}. Параллелепипед в данном случае частично обладает зеркальными свойствами.

Screenshot from 2020-06-07 18-09-26

Глобальная модель освещения для каждого пикселя изображения определяет его интенсивность. Будем для простоты считать, что все источники света - точечные. Сначала определяется непосредственная освещённость источниками без учёта отражений от других поверхностей (вторичная освещённость): отслеживаются лучи, направленные ко всем источникам. Тогда наблюдаемая интенсивность (или отражённая точкой энергия) выражается следующим соотношением:

- коэффициент фонового (рассеянного) освещения;

- коэффициент диффузного отражения;

- коэффициент зеркального отражения;

- коэффициент пропускания;

- единичный вектор нормали к поверхности в точке;

- единичный вектор, направленный к j-му источнику света;

- единичный локальный вектор, направленный в точку наблюдения;

- отражённый вектор \vec{l}_j

- интенсивность фонового освещения;

- интенсивность j-го источника света;

- интенсивность, приходящая по зеркально отражённому лучу;

- интенсивность, приходящая по преломлённому лучу.

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

image

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

Тогда можно показать, что

Соответствующие единичные векторы получить нетрудно.

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

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

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

Из лекций E_KG

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

  1. Трассировка фотонов: Фотоны в данном методе — это частицы, переносящие некоторую дискретную порцию световой энергии. На начальном этапе фотоны испускаются из источника света в соответствии с распределением световой энергии у данного источника. Например известно, что точечный или сферический источник света (например, Солнце) испускают свет изотропно во всех направлениях. Площадные источники света имеют косинусоидальное распределение, имеющее максимум по направлению, совпадающему с нормалью к плоскости источника и нуль по направлениям, лежащим в этой плоскости. В процессе трассировки, фотоны ударяются о различные поверхности модели (сцены). В зависимости от свойств материала, с ними могут происходить разные события: фотон может отразиться рассеянно (то есть в случайном направлении), зеркально, преломиться через поверхность или поглотиться. Решение о том, какое из событий происходит с фотоном, принимается на основании свойств материала поверхности и статистического метода «Русской рулетки». Лишь при рассеянном отражении, запись о фотоне сохраняется в список.

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

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