В стиле вопроса о трихоплаксе я хочу рассказать еще об одной статье в Википедии: Radiosity (компьютерная графика) . В статье говорится:
Радиозависимость не зависит от точки обзора, что увеличивает объем вычислений, но делает их полезными для всех точек обзора.
Техника работает только с диффузными поверхностями. Таким образом, форм-факторы могут быть рассчитаны заранее и не зависят от зрителя. Освещение необходимо обновлять только в случае изменения источника света. Если, с другой стороны, метод будет поддерживать зеркальное отражение, форм-факторы будут зависеть от зрителя. Форм-факторы и освещение должны постоянно обновляться при движении камеры.
Как ограничение диффузных поверхностей увеличивает вычисления? Диффузные поверхности должны учитывать свет со всех сторон, что более сложно, чем брать свет только из зеркальной доли меньшего размера. Это то, что означает это предложение? Это только у меня так или стоит перефразировать?
Ответы:
Хотя это может быть не совсем ясно из формулировки статьи в Википедии, автор поднимает важную проблему: в отличие от многих других подходов, Radiosity необходимо выполнять свои расчеты для всех существующих исправлений, а не только для видимых . Это не ограничение диффузных поверхностей, которое увеличивает вовлеченные вычисления, а тот факт, что сияние вычисляется для всех поверхностей во всей сцене, а не только для видимых.
Это находится в сильном противоречии с другими методами глобального освещения, такими как трассировка пути, где сияние вычисляется только для видимых образцов. Хотя пути просмотра могут по-прежнему достигать каждой точки сцены, могут существовать части сцены, которые никогда не достигаются никакими лучами / путями обзора. Поэтому здесь нет никаких вычислений. По сравнению с местной ГИ «проблема независимости точек зрения» еще более очевидна.
С другой стороны, как предполагает статья в Википедии, это также можно рассматривать как очень полезное свойство, поскольку вычисления не должны выполняться для каждой отдельной точки зрения. Это не относится к большинству других методов.
источник
Radiosity, по определению, обрабатывает только диффузный компонент. Вы не можете «ограничить» Radiosity рассеиванием, потому что оно уже обрабатывает только этот рассеянный компонент (помните - рассеянное освещение является лишь одним (хотя и популярным) приложением распределения энергии).
Итак, вы просто неверно истолковали цитату.
Кроме того , вопреки распространенному заблуждению, вы ничего не должны распространять всю энергию , чтобы получить отличные результаты. Изучите метод прогрессивного уточнения , который обрабатывает только самые крупные эмиттеры, что позволяет значительно быстрее сойтись до «достаточно близкого» решения.
Обычно вы устанавливаете некоторый порог (например, я хочу перераспределить 85%, если вся энергия), и перед обработкой следующего патча Shooter вы делаете простую проверку текущего итога распределенной энергии (и выходите из цикла). Обычно это на несколько порядков быстрее (при очень небольших затратах на реализацию), чем эталонный метод грубой силы.
Конечно, чтобы получить истинные преимущества Radiosity (например, кровотечение), лучше всего распространять как можно больше (с учетом доступных ресурсов).
источник
Предложение гласит: радиосистема предварительно вычисляет «изображение» для всех потенциальных точек обзора одновременно, то есть оно не фокусируется только на лучах, попадающих на конкретного наблюдателя. Следовательно, есть еще много лучей, которые нужно учитывать, поскольку вы фактически одновременно отображаете множество видов.
Являются ли поверхности зеркальными или размытыми, на самом деле не имеет значения в отношении этого утверждения.
Чтобы сделать этот подход жизнеспособным, radiosity выполняет очень грубый рендеринг, как будто используя большие лучи вместо тонких лучей.
источник