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