Трассировка пути - это стандартная техника фотореалистичного рендеринга не в реальном времени, и вам следует обратить особое внимание на двунаправленную трассировку пути, чтобы получить такие эффекты, как каустика, которых вы не можете получить при базовой трассировке пути. Двунаправленная трассировка путей также быстрее сходится к наземной истине, как показано на изображении ниже:
Кроме того, светопередача Metropolis (MLT) является более продвинутой техникой трассировки путей, которая еще быстрее сходится к наземной истине, изменяя существующие «хорошие» пути:
Вы также можете использовать выборку по важности для более быстрой сходимости, фокусируя больше лучей в направлениях, которые имеют большее значение. То есть путем фокусировки лучей на основе BRDF (больше в сторону всплеска BRDF с использованием функции плотности вероятности) или на источник света, либо выберите лучшее из двух миров и используйте выборку с множеством важных значений.
Это все о снижении шума непредвзято. Существуют также методы шумоподавления для дальнейшего снижения шума на визуализированных изображениях.
Я думаю, что лучше всего сначала внедрить базовый метод трассировки Монте-Карло методом грубой силы, чтобы он служил беспристрастным ориентиром, прежде чем изучать более продвинутые методы. Совершенно легко делать ошибки и вводить смещение, которое остается незамеченным, поэтому иметь простую реализацию полезно иметь для справки.
Вы также можете получить некоторые действительно хорошие результаты, применяя трассировку пути к участвующим медиа, но это очень медленно работает: D
Хотя я не знал о трассировке Монте-Карло, когда писал это, я случайно описал это. По иронии судьбы, трасса Монте-Карло - это ответ, который я искал в то время.
Наивное отслеживание пути Монте-Карло работает путем оценки того, что называется уравнением рендеринга, для численного решения цветового значения пикселя. Он отбирает случайные выборки путем случайного дрожания в пикселе (есть лучшие стратегии выборки и фильтрация: какова основная причина сглаживания при использовании нескольких случайных выборок в пикселе? ), А также путем отскока в случайных направлениях, когда луч попадает на поверхность ,
Для получения хороших результатов может потребоваться много образцов, и при недостаточном количестве образцов ваше изображение будет выглядеть шумным. Требуется в 4 раза больше образцов, чтобы уменьшить шум пополам. Время рендеринга может составлять порядка часа с использованием 8 современных процессорных ядер для простой сцены.
Существуют более продвинутые методы отслеживания пути Монте-Карло, которые позволяют быстрее получать более качественные изображения, такие как выборка по важности или шумоподавление изображения после его рендеринга.
Трассировка по методу Монте-Карло может создавать фотореалистичные изображения и дает вам много продвинутых функций рендеринга только потому, что она соответствует физическим законам, что дает реалистичные результаты.
Вы можете прочитать больше об этом здесь: http://blog.demofox.org/2016/09/21/path-tracing-getting-started-with-diffuse-and-emissive/
Вот пример изображения, на рендеринг которого использовались все 8 ядер моего процессора: около часа:
источник