Какова цель в этой части алгоритма трассировки пути Монте-Карло? - PullRequest
6 голосов
/ 07 декабря 2011

Во всех простых алгоритмах трассировки пути с использованием множества выборок Монте-Карло трассировка части пути алгоритма случайным образом выбирает между возвратом с испущенным значением для текущей поверхности и продолжением путем трассировки другого луча из полусферы этой поверхности (дляпример на слайдах здесь ).Вот так:

TracePath(p, d) returns (r,g,b) [and calls itself recursively]:
    Trace ray (p, d) to find nearest intersection p’
    Select with probability (say) 50%:
        Emitted:
            return 2 * (Le_red, Le_green, Le_blue) // 2 = 1/(50%)
        Reflected: 
             generate ray in random direction d’
             return 2 * fr(d ->d’) * (n dot d’) * TracePath(p’, d’)
  1. Это просто способ использовать русскую рулетку для завершения пути, оставаясь беспристрастным?Конечно, было бы более разумно посчитать излучающие и отражающие свойства для всех путей лучей вместе и использовать русскую рулетку только для того, чтобы решить, продолжать ли трассировку или нет.

  2. И вот следующий вопросПочему некоторые из этих алгоритмов, которые я вижу (как в книге «Физические методы рендеринга»), только один раз вычисляют излучение, а не учитывают все излучающие свойства объекта?Уравнение рендеринга в основном равно

    L_o = L_e + integral of (light exiting other surfaces in to the hemisphere of this surface)

    , которое, похоже, учитывает излучающие свойства как в этом L_o, так и в интеграле от всех других L_o, поэтому алгоритмы должны следовать.

Ответы [ 3 ]

4 голосов
/ 08 февраля 2012

На самом деле, расчет одиночного выброса против отражения слишком упрощен. Чтобы ответить на первый вопрос, бросок монеты используется, чтобы завершить луч, но это приводит к намного большим уклонам. Второй вопрос немного сложнее ....

В аннотации Ширли, Ван и Циммерман TOG 94 авторы кратко суммируют преимущества и сложности выборки Монте-Карло:

В трассировщике лучей распределения, важнейшая часть прямого освещения Расчет - это стратегия выборки для тестирования теневых лучей. Monte Для этого используется интеграция Carlo с важной выборкой. расчет. Важность выборки включает в себя дизайн функции плотности вероятности, зависящие от подынтегральной функции, которые используются для генерировать выборочные точки для числовой квадратуры. Вероятность представлены функции плотности, которые помогают при прямом освещении Расчет от светильников различных простых форм. Метод для определение функции плотности вероятности для набора светильников представлены, что позволяет проводить расчеты прямого освещения с одним образцом, независимо от количества светильников.

Если мы начнем анализировать этот реферат, вот несколько важных моментов:

  1. Свет не является точечным: в реальной жизни мы почти никогда не имеем дело с точечным источником света (например, одним светодиодом).
  2. Тени обычно мягкие: это следствие неточечных источников света. Очень редко можно увидеть по-настоящему жесткую тень в реальной жизни.
  3. Шум (особенно яркие артефакты сэмплирования) непропорционально отвлекает: у людей много интуиции о том, как все должно выглядеть. Посмотрите на слайд 5 (стеклянная сфера на столе) в связанной презентации ОП. Обратите внимание на яркие пятна в тени.

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

Обратите внимание, что это метод управляемой выборки, который заметно отличается от первоначального метода "генерировать луч в случайном направлении" тем, что он оба:

  1. Более точно: изображения в связанном PDF немного страдают от процесса PDF. Рисунок 10 является разумным представлением оригинала - обратите внимание на отсутствие ярких спекл-артефактов, которые вы иногда будете видеть (как на рисунке 5 оригинального представления).

  2. Значительно быстрее: как отмечается в оригинальной презентации, неуправляемая выборка Монте-Карло может занять много времени, чтобы сходиться. Больше выборочных лучей = гораздо больше вычислений = больше времени.

1 голос
/ 04 февраля 2012
  1. Да, это очень базовая реализация русской рулетки, хотя обычно вероятность завершения будет учитывать интенсивность света (т. Е. Меньше света означает, что значение вносит меньший вклад в окончательное суммирование, поэтому используйте более высокую вероятность завершения).
1 голос
/ 07 декабря 2011

После прочтения слайдов (спасибо за публикацию) я исправлю свой ответ как можно лучше.

  1. Это просто способ использовать русскую рулетку для завершения пути, оставаясь при этом беспристрастным?Конечно, было бы более разумно сосчитать излучающие и отражающие свойства для всех путей лучей вместе и использовать русскую рулетку, просто чтобы решить, продолжать ли трассировку или нет.

Возможно, излучаемые и отраженные свойства трактуются по-разномупотому что отраженный путь зависит от пути падения так, как не излучаемые пути (по крайней мере, для спектральной поверхности).Использует ли алгоритм байесовский подход и использует априорную информацию об угле падения в качестве априорной для прогнозирования угла отражения?Или это интеграция Фейнмана по всем путям, чтобы придумать вероятность?Трудно сказать, не углубляясь в детали теории.

Мой предыдущий комментарий к черному телу совершенно неверен.Я вижу, что слайды говорят о (R, G, B) компонентах;Излучения черного тела интегрированы на всех длинах волн.

  1. И вот следующий вопрос: почему некоторые из этих алгоритмов я вижу (как в книге «Физически обоснованные методы рендеринга»)только вычислить эмиссию один раз, вместо того, чтобы учесть все излучающие свойства объекта?Уравнение рендеринга в основном равно

    L_o = L_e + интеграл от (света, выходящего из других поверхностей в полусферу этой поверхности)

Один коэффициент излучения для поверхности будет предполагатьсячто нет никакой функциональной зависимости от длины волны или направления.Я не знаю, насколько это важно для рендеринга фотореалистичных изображений.

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

Спасибо за публикацию хорошего вопроса - я голосую за него.Я давно не думал об этой проблеме.Хотел бы я быть более полезным.

...