Как независимость от видимости радиации увеличивает используемые вычисления?

8

В стиле вопроса о трихоплаксе я хочу рассказать еще об одной статье в Википедии: Radiosity (компьютерная графика) . В статье говорится:

Радиозависимость не зависит от точки обзора, что увеличивает объем вычислений, но делает их полезными для всех точек обзора.

Техника работает только с диффузными поверхностями. Таким образом, форм-факторы могут быть рассчитаны заранее и не зависят от зрителя. Освещение необходимо обновлять только в случае изменения источника света. Если, с другой стороны, метод будет поддерживать зеркальное отражение, форм-факторы будут зависеть от зрителя. Форм-факторы и освещение должны постоянно обновляться при движении камеры.

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

Дэвид Кури
источник
2
Я в целом согласен с вашей аргументацией. Но я думаю, что автор имеет в виду, что подход должен выполнять свои вычисления для всех существующих исправлений, а не только видимых. Можно утверждать, что трассировка пути в отличие от этого вычисляет яркость только для видимых участков / образцов. В то время как лучи могут все еще идти повсюду, могут быть части сцены, которые никогда не получают какие-либо лучи / пути обзора; поэтому нет никаких вычислений вообще. По сравнению с местной ГИ «проблема независимости точек зрения» еще более очевидна. Хотя я все еще согласен с вами, что это следует перефразировать.
Wumpf
1
Я согласен с Wumpf: метод, независимый от вида, не учитывает видимость, что приводит к дополнительным вычислениям, потому что он должен вычислять освещение для всей сцены независимо от того, куда смотрит камера. Кроме того, вы не можете уменьшить разрешение ваших вычислений в областях, которые находятся далеко. Я думаю, что @Wumpf должен перефразировать его комментарий как ответ.
Ап_
@ap_ Готово. Не стесняйтесь редактировать :)
Wumpf
1
Собираетесь ли вы улучшить статью в Википедии? Я часто вижу подобные вопросы в Comptuter Graphics SE. Может стоит задуматься? :)
bartosz.baczek

Ответы:

8

Хотя это может быть не совсем ясно из формулировки статьи в Википедии, автор поднимает важную проблему: в отличие от многих других подходов, Radiosity необходимо выполнять свои расчеты для всех существующих исправлений, а не только для видимых . Это не ограничение диффузных поверхностей, которое увеличивает вовлеченные вычисления, а тот факт, что сияние вычисляется для всех поверхностей во всей сцене, а не только для видимых.

Это находится в сильном противоречии с другими методами глобального освещения, такими как трассировка пути, где сияние вычисляется только для видимых образцов. Хотя пути просмотра могут по-прежнему достигать каждой точки сцены, могут существовать части сцены, которые никогда не достигаются никакими лучами / путями обзора. Поэтому здесь нет никаких вычислений. По сравнению с местной ГИ «проблема независимости точек зрения» еще более очевидна.

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

Wumpf
источник
1
Хорошо, кажется, что основная проблема заключалась в том, что я читал «независимый от точки обзора» как «BRDF isotropic», а не «освещение рассчитывается, смотрите ли вы на поверхность или нет». Я подожду еще один день для другого ответа, а затем, вероятно, приму это, спасибо :)
Дэвид Кури
4

Radiosity, по определению, обрабатывает только диффузный компонент. Вы не можете «ограничить» Radiosity рассеиванием, потому что оно уже обрабатывает только этот рассеянный компонент (помните - рассеянное освещение является лишь одним (хотя и популярным) приложением распределения энергии).

Итак, вы просто неверно истолковали цитату.

Кроме того , вопреки распространенному заблуждению, вы ничего не должны распространять всю энергию , чтобы получить отличные результаты. Изучите метод прогрессивного уточнения , который обрабатывает только самые крупные эмиттеры, что позволяет значительно быстрее сойтись до «достаточно близкого» решения.

Обычно вы устанавливаете некоторый порог (например, я хочу перераспределить 85%, если вся энергия), и перед обработкой следующего патча Shooter вы делаете простую проверку текущего итога распределенной энергии (и выходите из цикла). Обычно это на несколько порядков быстрее (при очень небольших затратах на реализацию), чем эталонный метод грубой силы.

Конечно, чтобы получить истинные преимущества Radiosity (например, кровотечение), лучше всего распространять как можно больше (с учетом доступных ресурсов).

3D кодер
источник
1

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

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

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

Ив Дауст
источник