Алгоритм Final Gathering позволяет точно посчитать освещение практически для любых условий, избегая «пятнистости» изображения, но увеличивая временные затраты. Как вариант, чтобы ускорить работу алгоритма, его можно применять для расчета не всех отражений, а лишь наиболее значимых по вкладу вторичных отражений – первого отскока отражённого поверхностями объектов света.
При использовании этого метода сами фотонные карты задействуются только для вычисления непрямой освещенности. Тени, отражения и другие эффекты (кроме каустики, для которой финальный сбор не нужен) просчитывают при помощи распределенной трассировки лучей или какого-то другого метода. Вместо непосредственного сбора освещенности с фотонов, в методе финального сбора из заданной точки испускается некоторое число лучей по полусфере и освещенность собирается уже в тех местах, куда попали лучи. Это позволяет значитеьно снизить шум. Как правило, нужно трассировать меньше лучей, чем в трассировке, использующей метод Монте-Карло.
Одним из алгоритмов, способных улучшить работу метода фотонных карт, являются так называемые Projection Maps. В сценах с разреженной геометрией многие выпущенные фотоны не столкнутся ни с одним из объектов сцены. Испускание такие фотонов – пустая трата времени. Projection map – это своеобразная трёхмерная «карта» геометрии, видимой из источника света. Эта карта состоит из «ячеек», содержащих значение «true», если в этом направлении есть геометрия и «false», если в данном направлении геометрии нет.
Для точечного источника света, например, Projection map представляет собой проекцию сцены на сферу с центром в источнике, для направленного света – проекция сцены на плоскость.
На стадии трассировки фотонов, отдельно взятый фотон испускается в случайном направлении из тех, которым соответствует «true»-ячейка в Projection map.
Всё.
© 2011. Feel free to copy from this site. Design by fpm08siv ^^
полученное с использованием алгоритма Final Gathering.