Термин «распределенная трассировка лучей» был первоначально придуман Робертом Куком в этой статье 1984 года, Его наблюдение состояло в том, что для выполнения сглаживания в трассировщике лучей визуализатору необходимо выполнить пространственную повышающую дискретизацию, то есть взять больше выборок (то есть снять больше лучей), чем количество пикселей в изображении, и объединить их результаты. , Один из способов сделать это - снимать несколько лучей в пикселе и усреднять их значения цвета, например. Однако, если средство визуализации уже отслеживает несколько лучей на пиксель в любом случае, чтобы получить сглаженное изображение, тогда эти лучи также могут быть «распределены» по дополнительным измерениям, а не только по положению в пикселе, для выборки эффектов, которые не могли быть захвачены одним лучом , Важным моментом является то, что это происходит без каких-либо дополнительных затрат в дополнение к пространственной повышающей дискретизации, поскольку вы все равно уже отслеживаете эти дополнительные лучи. Например,
Трассировка лучей Монте-Карло - это слегка двусмысленный термин. В большинстве случаев это относится к методам рендеринга, которые решают уравнение рендеринга, представленный Джимом Каджия в 1986 году с использованием интеграции Монте-Карло. Практически все современные методы рендеринга, которые решают уравнение рендеринга, такие как трассировка пути, двунаправленная трассировка пути, прогрессивное картирование фотонов и VCM, могут быть классифицированы как методы трассировки лучей Монте-Карло. Идея интегрирования Монте-Карло состоит в том, что мы можем вычислить интеграл любой функции путем случайного выбора точек в области интегрирования и усреднения значения функции в этих точках. На высоком уровне, при трассировке лучей Монте-Карло мы можем использовать эту технику, чтобы интегрировать количество света, попадающего на камеру в пикселе, чтобы вычислить значение пикселя. Например, трассировщик пути делает это путем случайного выбора точки в пикселе для съемки первого луча, а затем продолжает случайным образом выбирать направление для продолжения на поверхности, на которую он падает, и так далее. Мы также можем случайно выбрать позицию на оси времени, если мы хотим сделать размытие в движении, или случайным образом выбрать точку на апертуре, если вы хотите сделать глубину резкости, или ...
Если это звучит очень похоже на распределенную трассировку лучей, это потому что это так! Мы можем думать о распределенной трассировке лучей как о весьма неформальном описании алгоритма Монте-Карло, который отбирает определенные эффекты, такие как мягкие тени. В статье Кука отсутствует математическая основа, чтобы правильно ее рассуждать, но вы наверняка могли бы реализовать распределенную трассировку лучей, используя простой рендерер Монте-Карло. Стоит отметить, что в распределенной трассировке лучей отсутствует какое-либо описание глобальных эффектов освещения, которые естественным образом моделируются в уравнении рендеринга (следует отметить, что статья Каджии была опубликована через два года после статьи Кука).
Вы можете рассматривать трассировку лучей Монте-Карло как более общую версию распределенной трассировки лучей. Трассировка лучей Монте-Карло содержит общую математическую структуру, которая позволяет обрабатывать практически любые эффекты, в том числе те, которые упоминаются в распределенной трассировке лучей.
В наши дни «распределенная трассировка лучей» на самом деле не является термином, который используется для обозначения исходного алгоритма. Чаще вы будете слышать это в сочетании с «эффектами распределения», которые являются просто эффектами, такими как размытие движения, глубина резкости или мягкие тени, которые не могут быть обработаны трассировщиком лучей с одним образцом.