Методы GI |
I. Точные методы против приближённых
II: Стреляющие методы против собирающих
III: Приближённые методы: решения, зависимые от вида против решений, не зависимых от вида
Методы GI, поддерживаемые V-Ray
Практически все современные GI-визуализаторы основаны на уравнении рендеринга, опубликованном James T. Kajiya в 1986 году в его работе "The Rendering Equation". Это уравнение описывает распространение света в сцене. В своей работе Kajiya также предложил метод для расчёта изображения на основании уравнения рендеринга с использованием метода Монте-Карло, который получил название трассировка пути (path tracing).
Нужно отметить, что это уравнение было известно в инженерии гораздо раньше и использовалось для расчёта радиационного теплообмена в различных средах. Однако Kajiya был первым, кто применил это уравнение в компьютерной графике.
Также следует отметить, что уравнение рендеринга - это только "аппроксимация уравнения Максвелла для электромагнетизма". Оно не пытается смоделировать все оптические явления. Оно основано только на геометрической оптике и, следовательно, не может моделировать таких вещей как дифракция, интерференция или поляризация. Однако оно может быть легко модифицировано для учёта волновых эффектов света, таких как дисперсия.
Ещё один, более философский момент, что уравнение рендеринга выведено из математической модели поведения света. Хотя это очень хорошая модель для применения в компьютерной графике, она не описывает точно как ведёт себя свет в реальном мире. Например, уравнение рендеринга допускает, что световын лучи бесконечно тонкие и что скорость света бесконечна. Ни одно из этих допущений не верно для реального физического мира.
Поскольку уравнение рендеринга основано на геометрической оптике, вбрасывание лучей (рейкастинг - raytracing) - очень удобный способ решения уравнения рендеринга. Действительно, большинство визуализаторов, которые решают уравнение рендеринга, основаны на рейкастинге.
Возможны различные формулировки уравнения рендеринга, но форма, предложенная Kajiya, выглядела так:
где:
L(x, x1) - зависимость прохождения света от точки x1 к точке x;
g(x, x1) - геометрия (или член видимости);
e(x, x1) - интенсивность излученного света из точки x1 в направлении точки x;
r(x, x1, x2) - зависимость рассеивания света, исходящего из точки x2, в направлении к точке x через точку x1;
S - объединение всех поверхностей в сцене; x, x1 и x2 точки из S.
Что означает это уравнение: свет, приходящий в данную точку сцены x из (другой) точки x1 является суммой излучённого света из всех других точек x2 в направлении точки x1 и отражённого от неё в направлении точки x:
За исключением самых простых случаев, уравнение рендеринга на компьютере не может быть решено точно за конечное время. Однако мы можем получить достаточно хорошее приближение к действительному решению за данное достаточное время. Поиск алгоритмов глобального освещения (global illumination - GI) был поиском нахождения решений, которые были бы достаточно близки к теории за разумное время.
Уравнение рендеринга одно. Различные визуализаторы просто применяют различные методы для его решения. Если два различных визуализатора решают это уравнение достаточно точно, то для одной сцены они должны сгенерировать одинаковые изображения. Это хорошо в теории, а на практике визуализаторы часто отбрасывают или изменяют какие-то части уравнения рендеринга, что может приводить к различиям в результатах.
Как было отмечено выше, мы не можем точно решить это уравнение - всегда имеется некая ошибка, хотя она может быть сделана очень маленькой. В некоторых методах визуализации желательная ошибка определяется пользователем заранее и она определяет точность вычислений (например, плотность сэмплов GI, или лучей GI, или количество фотонов, etc.). Недостаток этих методов состоит в том, что пользователь должен ждать пока процесс вычислений полностью не завершится, что бы можно было использовать результат. Другой недостаток - может потребоваться множество проб и ошибок для нахождения настроек, которые дают соответствующее качество за определённое время на один кадр. Однако большим преимуществом этих методов является то, что они могут быть очень эффективны в пределах обозначенных границ точности, поскольку алгоритм может концентрироваться на решении различных частей уравнения рендеринга по отдельности (например, разделяя изображения на независимые области, выполняя несколько фаз вычислений и т.д.), а затем объединить их в единый результат.
В других методах изображение вычисляется постепенно: вначале ошибка большая, но становится меньше, когда алгоритм выполняет дополнительные вычисления. В любой момент времени мы имеем частичный результат для всего изображения. Поэтому мы всегда можем завершить вычисления и использовать промежуточный результат.
Точные (несмещённые или brute-force) методы
Преимущества:
- Дают очень точные результаты.
- Единственным артефактом, который дают эти методы, является шум.
- Визуализаторы, использующие точные методы, обычно имеют всено несколько настроек для определения качества изображения.
- Обычно требуют очень небольшой дополнительной памяти.
Недостатки:
- Несмещённые методы не адаптивны и, следовательно, очень медленны для изображений без шума.
- Некоторые эффекты вообще не могут быть вычислены при помощи точных методов (например, каустика от точечного источника света, видимая через идеальное зеркало).
- Для этих методов может быть сложным определение требований к качеству.
- Точные методы обычно работают непосредственно с окончательным изображением. Решение GI ни как не может быть сохранено и повторно использовано.
Примеры:
- Path tracing - трассировка пути (в некоторых визуализаторах brute-force GI).
- Bi-directional path tracing - двунаправленная трассировка пути.
- Metropolis light transport.
Приближённые (смещённые) методы
Преимущества:
- Адаптивны, следовательно обычно они гораздо быстрее, чем точные методы.
- Могут вычислять некоторые эффекты, невозможные для точных методов (например, каустика от точечного источника света, видимая через идеальное зеркало).
- Требования к качеству могут быть настроены и решение GI может быть улучшено до достижения этих требований.
- Для некоторых приближённых методов решение GI может быть сохранено и использовано повторно.
Недостатки:
- Результаты могут быть неточными (например, могут быть размытыми), хотя обычно ошибка может быть сделана такой малой, на сколько это необходимо.
- Возможны артефакты (например, просачивание света под тонкими стенами и т.п.).
- Много настроек для управления качеством.
- Некоторые приближённые методы могут требовать (достаточно много) дополнительной памяти.
Примеры:
- Photon mapping.
- Irradiance caching.
- Radiosity.
- Light cache in V-Ray.
Гибридные методы: для некоторых эффектов используются точные методы, для остальных - приближённые
Преимущества:
- Сочетают скорость и качество.
Недостатки:
- Могут быть более сложными в настройке.
Примеры:
- Final gathering с Min/Max radius 0/0 + photon mapping в mental ray.
- brute force GI + photon mapping или light cache в V-Ray.
- Light tracer с Min/Max rate 0/0 + radiosity в 3ds Max.
- Некоторые методы могут быть асимптотически несмещёнными - т.е. они начинают работать с некоторым начальным смещением, но в ходе вычислений оно постепенно уменьшается.
Стреляющие методы (Shooting methods)
Эти методы начинают от источника света и распределяют световую энергию по сцене. Обратите внимание, что стреляющие методы могут быть как точными, так и приближёнными.
Преимущества:
- Могут просто имитировать некоторые специфические световые эффекты, такие как каустика.
Недостатки:
- В расчёт не принимается вид из камеры. Таким образом, они могут тратить много времени на части сцены, которые не видимы или не дают вклада в изображение (например, каустика, которая не видна, всё равно будет просчитываться).
- Дают более точные решения для частей сцены, которые находятся близко с источникам света. Области, удалённые от источников света могут вычисляться с недостаточной точностью.
- Не могут эффективно имитировать многие типы световых эффектов: например, свет от объектов, свет от окружающей среды (напр. неба). Имитации не-физических источников света затруднена.
Примеры:
- photon mapping (приближённый).
- particle tracing (приближённый).
- light tracing (точный).
- некоторые методы radiosity (приближённые).
Собирающие методы (Gathering methods)
Эти методы начинают от камеры и/или от геометрии в сцене. Обратите внимание, что собирающие методы могут быть как точными, так и приближёнными.
Преимущества:
- Работают, базируясь на тех частях сцены, которые важны для конечного изображения. Следовательно, они могут быть более эффективнымиЮ чем методы стрельбы.
- Могут давать очень точное решение для всех видимых частей изображения.
- Могут имитировать различные световые эффекты (свет от объектов, свет от окружающего пространства) и нефизические источники света.
Недостатки:
- Некоторые световые эффекты (каустика от точечного источника света или от источника света с маленькой площадью) очень сложно или невозможно имитировать.
Примеры
- path tracing (точный)
- irradiance caching (final gathering в mental ray), (приближённый).
- некоторые методы radiosity (приближённые).
Гибридные методы
Это методы сочетают подход стреляющих и собирающих методов. И снова, гибридные методы могут быть как точными, так и приближёнными.
Преимущества:
- Могут имитировать почти все типы световых эффектов.
Недостатки:
- Могут быть трудны для реализации и/или настройки.
Примеры:
- final gathering + photon mapping в mental ray (приближённый).
- irradiance map/brute force GI + photon map в V-Ray (приближённый).
- bi-directional path tracing и metropolis light transport (точный).
- некоторые методы radiosity (приближённые).
Некоторые приближённые методы позволяют кэширование решения GI. Кэш может быть либо зависимым от вида, либо независимым.
Стреляющие методы
Преимущества:
- Стреляющие методы обычно дают решение, не зависящее от вида.
Недостатки:
- Получаемое решение обычно низкого качества (с размытыми или отсутствующими деталями). Детализированное решение требует очень много времени и/или памяти.
- Затруднено получение адаптивных решений.
- Области, удалённые от источников света, могут быть вычислены с недостаточной точностью.
Примеры:
- photon mapping
- некоторые методы radiosity
Собирающие методы
Собирающие и некоторые гибридные методы позволяют создавать решения как зависящие, так и не зависящие от вида.
Решения, зависящие от вида
Преимущества:
- Принимаются во внимание только значимые части сцены (время не тратится напрасно на области, которые не видимы).
- Могут работать с любым типом геометрии (т.е. не накладывается ограничений на тип геометрии).
- Могут давать очень высококачественные результаты (сохраняя все мелкие детали).
- В некоторых методах часть решения, зависящая от вида, может быть сохранена в кэше (размытые отражения и преломления и т.п.).
- Требует меньше памяти, чем решение, не зависящее от вида.
Недостатки:
- Требует обновления для другого положения камеры. Тем не менее, в некоторых реализациях часть решения может быть использована повторно.
Примеры:
- Irradiance caching (в V-Ray, mental ray, finalRender, Brazil r/s, 3ds Max's light tracer).
Решения, не зависящие от вида
Преимущества:
- Решение требует только одного вычисления.
Недостатки:
- Должна быть учтена вся геометрия сцены, даже если какая-то её часть никогда не будет видимой.
- Тип геометрии в сцене обычно ограничен мешами, состоящими из треугольников или прямоугольников (процедурная или бесконечная геометрия не поддерживается).
- Детализированные решения требуют много памяти.
- В кэш может быть записана только диффузная часть решения. Части решения, зависящие от вида (размытые отражения), по прежнему должны быть вычислены (для каждого вида - прим. перев.).
Примеры:
- некоторые методы radiosity
Гибридные методы
Могут содержать различные комбинации алгоритмов, зависящих и не зависящих от вида.
Примеры:
- photon mapping и irradiance caching в V-Ray.
- photon mapping и final gathering в mental ray.
- radiosity и light tracer в 3ds Max.
V-Ray поддерживает несколько методов для решения уравнения GI: точные, приближёееные, стреляющие и собирающие. Некоторые методы больше подходят для специфических типов сцен.
Точные методы
V-Ray поддерживает два точных метода для вычисления уравнения рендеринга: прямое вычисление (brute force) GI и прогрессивная трассировка пути (progressive path tracing). Различие между ними в том, что метод прямого вычисление GI работает с традиционными алгоритмами постоения изображения (визуализация бэкитов) и адаптивен, тогда как метод трассировки пути улучшает всё изображение целиком и не выполняет никакой адаптации.
Приближённые методы
Все остальные методы, используемые в V-Ray (irradiance map, light cache, photon map) – приближённые.
Стреляющие методы
В V-Ray только один стреляющий метод: photon map. Каустика также может быть вычислена с помощью фотонного преобразования в комбинации с собирающим методом.
Собирающие методы
Все остальные методы в V-Ray (brute force GI, irradiance map, light cache) – собирающие.
Гибридные методы
V-Ray может использовать различные методы вычисления GI для первичных и вторичных отскоков, что позволяет комбинировать точные и приближенные, стреляющие и собирающие алгоритмы в зависимости от поставленных целей. Некоторые из возможных комбинаций представлены на странице Примеры GI.
Перевод © Black Sphinx, 2008-2013. All rights reserved.