GI методы |
Главная |
I. Точные против приблизительных методов
II: Собирающие (Gathering) против vs излучающих (shooting) методов
III: Приблизительные методы: view-зависимые против view-независимых решений
GI методы поддерживаемые V-Ray
Все совреименный GI рендеры основаны на "формуле" представленной Джеймсом Т.Кажия в 1986 в его статье "The Rendering Equation". Эта формула описывала как свет распростараняется через пространство сцены. В статье, был так же предложен метод расчета изображения сцены основанный на формуле использующей метод Монте Карло названный path tracing.
Нужно заметить, что формула была известно задолго до этого и была использована в расчетах лучевого переноса тепла в различных средах. Однако Джеймсом Т.Кажия был первый кто использовал эту формулу в компьютерной графике.
Нужно также заметить, что формула только апроксимация (приближение) Максвеловской формулы для электромагнитных волн. Она не пытается смоделировать все оптические эффекты. Она базируется на геометрической оптике и поэтому не может эмулировать такие вещи как дифракция, интерференция или поляризация. Хотя, она может быть легко изменена для учета зависящей от длины волны дисперсии.
Еще одно, более философское замечание, состоит в том, что формула рендера происходит из математической модели о поведении света. Хотя это очень хорошая модель для целей компьютерной графики, она не описывает поведение света в реальном мире. Например, в формуле принято, что световые лучи бесконечно тонкие и что скорость света бесконечна - не то ни другое не является истиной в реальном мире.
Так как формула рендера основана на геометрической оптике, рейтрейсинг это очень удобный способ для решения уравнеия рендеринга. Действительно, большинство рендеров основаны на рейтрейсинге.
Различные формулировки уравнения рендеринга возможны, но предложенная Джеймсом Т.Кажия выглядит так:
где
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.
Уравнение: свет приходящий в данную точку х в сцене из другой точки х1 есть сумма света излученного из всех других точек х2 по направлению к х1 и отраженных по направлению к х:
Исключая очень простые случаи, уравнение не может быть решено в ограниченный прмежуток времени на компьютере. Хотя, мы можем подойти настолько близко насколько хотим к полному решению - имея достаточно времени. Поиск алгоритма GI это баланс между решением которое достаточно точно, и выполняется за разумное время.
Уравнение только одно. Различные алгортмы применяют различные методы для его решения. Если два алгоритма решают это уравнение достаточно точно, значит они должны получать одинаковый результат для одной и той же сцены. Это очень хорошо в теории, но на практике рендеры часто сокращают или изменяют уравнение, что приводит к отличающимся результатам.
Как указано выше, мы не можем решить уравнение точно - всегда есть некоторые неточности, хотя их можно свести к минимуму. В некоторых методах рендера, желаемая погрешность может указываться заранее пользователем и это предопределяет точность вычислений (т.к. GI sample плотность, или GI rays, или число фотонов и т.п.). Недостаток этих методов в том, что пользователь должен ждать в течение всего процесса расчета прежде чем результат может быть использован. Другогй недостаток сотоит в том, что этот способ может требовать много проб при подборе нужных настроек для получения требуемого качества. Хотя большое преимущество этих методов в том, что они могут быть очень эффективны в пределах указанных границ, потому, что они концентрируются на решении сложных частей уравнения по отдельности (например разделяя экран на несколько независимых регионов, выполняя несколько фаз вычисления и т.п.)., и затем объединяя этапы в конце.
В других методах, кртинка расчитывается постепенно (прогрессивно) - в начале погрешность большая, но постепенно уменьшается в процессе расчета пока алгоритм выполняет дополнительные вычисления. В любой момент времени, мы имеем некоторый результат всей картинки. Таким образом мы можем прервать процесс в любой момент и использовать этот результат.Прямые (объективные или грубой силы) методы.
Преимущества:
- Очень точный результат.
- Единственный артефакт который производят эти методы это шум.
- Рендеры использующие прямой (точный ) метод обычно имеют немного настроек для определения необходимого качества результата.
- Обычно требуют немного дополнитеольной памяти.
Недостатки:
- Обьективные методы не адаптивные и очень медленные для конечногго результата где требуется отсутствие шума.
- Некоторые эффекты не могут быть расчитаны вообще при помощи точных методов (например каустика из точечного источника через идеальное зеркало).
- Может быть затруднительно применять требования по качеству к этим методам.
- Обьективные методы работают прямо над конечным изображением; поэтому GI расчет освещения не может быть сохранен и не может быть использован при повторных рендерах.
Примеры:
- Path tracing (расчет GI грубой-силой в некоторых рендерах).
- Bi-directional path tracing.
- Metropolis light transport.
Approximate (biased) methods:
Преимущества:
- Адаптивные, что обычно много быстрее прямых методов.
- Могут расчитывать некоторые эффекты которые невозможно выполнить прямыми методами (например каустика из точечного источника через идеальное зеркало).
- Требование по качеству может быть установлено и настройки могут быть улучшены пока требуемое качество не будет достигнуто.
- Для некоторых приблизительных методов, GI расчет может быть сохранен и повторно использован.
Недостатки:
- Результат может не быть идеальным (может быть размытым и т.п.) хотя обычно погрешности могут быть сведены к требуему минимумуa.
- Возможны артефакты (свет протекает под тонкие стены).
- Больше настроек для определения качества.
- Некоторые приблизительные методы могут требовать (довольно много) дополнительной памяти
Примеры:
- Photon mapping.
- Irradiance caching.
- Radiosity.
- Light cache в V-Ray.
Гибридные методы: точные методы для некоторых эффектов, приблизительные методы для других эффектов.
Преимузества:
- Сочетают скорость и качество..
Недостатки:
- Могут быть более сложными в настройке (подготовке вычислений).
Примеры:
- Final gathering с Min/Max radius 0/0 + photon mapping в mental ray.
- QMC GI + photon mapping или light cache в V-Ray.
- Light tracer с Min/Max rate 0/0 + radiosity в 3dsmax.
- В некоторых методах погрешность может быть асимптотично уменьшена - то есть, они начинают с большой погрешностью и постепенно уменьшают ее в процессе расчета.
Излучающие (shooting) методы
Начинают с источников света и распространяют световую энергию через сцену. Могут быть как точными так и приблизительнвми.
Преимущества:
- Могут легко эмулировать некоторые световые эффекты, например каустику.
Недостатки:
- Не учитывают расположение камеры; поэтому могут тратить лишнее время на ту часть сцены которая не видима или не вностит в изображение существенного вклада (например каустика которая не видна все же будет расчитываться).
- Обеспечивают большее качество для тех участков сцены которые расположены ближе к источникам света; участки которые дальше от источников света могут быть расчитаны с недостаточным качеством.
- Не могут эмулировать эффективно все виды световых эффектов. Например object lights и environment lights (skylight); не физические источники света трудно эмулировать
Примеры:
- photon mapping (приближенный).
- particle tracing (приближенный).
- light tracing (прямой).
- some radiosity methods (приближенный).
Собирающие (gathering) методы
Начинают расчет от камеры или от обьектов сцены. Могут быть или прямыми или приближенными.
Преимущества:
- Их работа в основном сосредоточена на той части сцены которой мы интересуемся; поэтому они могут быть более эффективными чем shooting методы.
- Могут выдавать очень точное решение для всех частей изображения.
- Могут эмулировать различные световые эффекты (object и environment источники света), не физические источники света.
Недостатки:
- Некоторые световые эффекты (каустику от точечного или очень маленького источника света) сложно или невозможно визуализировать.
Примеры
- path tracing (прямой)
- irradiance caching (final gathering в mental ray), (приближенный).
- некоторые radiosity methods (приближенный).
Гибридные методы
Объединяет shooting и gathering, гибридный метод может как прямым так и приближенным.
Преимущества:
- Могут эмулировать почти все виды световых эффектов.
Недостатки:
- Сложны в осуществлении и настройке.
Примеры:
- final gathering + photon mapping в mental ray (приближенный).
- irradiance map/qmc GI + photon map в V-Ray (приближенный).
- bi-directional path tracing and metropolis light transport (прямой).
- some radiosity methods (приближенный).
Некоторые приближеные методы выполняют кеширование GI решения. Кеширование может быть или view-dependent или view-independent.
Излучающие (shooting) methods
Преимущества:
- Shooting методы обычно производят расчет view-independent решения.
Недостатки:
- Просчет обычно низкого качества (размытый и без деталей). Точное решение требует времени и памяти.
- Адаптивность метода сложна в реализации.
- Области удаленные от источников света могут быть с недостаточной точностью.
Примеры:
- photon mapping
- некоторые radiosity методы
Собирающие (gathering) methods
Gathering методы и некоторые гибридные методы допускают и view-dependent и view-independent решения.
View-зависимые решения
Преимущества:
- Только требуемая часть сцены учавствует в просчете (не тратится время на областях которые не видны для камеры).
- Может работать с любым типом геометрии.
- Могут давать очень качественный результат (с сохранением всех деталей).
- В некоторых методах, view-dependent часть расчета может быть так же кеширована (glossy reflections, refractions и т.п.).
- Требует меньше памяти чем view-independent решение.
Недостатки:
- Требует обновления для различных положений камеры; но в некоторых реализациях часть данных может повторно использована.
Примеры:
- Irradiance caching (в V-Ray, mental ray, finalRender, Brazil r/s, 3dsmax's light tracer).
View-независимые решенияsolutions
Преимущества:
- Расчет необходимо выполнить только один раз для любых положений камеры.
Недостатки:
- Вся геометрия сцены учавствует в расчете решения, даже если часть ее никогда не будет использована.
- Тип геометрии в сцене обычно ограничен только треугольными или четырехугольными мешами (не допускается процедурной геометрии).
- Точные решения требую большого количества памяти.
- Только диффузная часть решения может быть кеширована; view-dependent часть (glossy reflections) должна быть пересчитана.
Примеры:
- Некоторые radiosity методы.
Гибридные методы
Различные комбинации view-dependent и view-independent методов могут применятся.
Примеры:Примеры:
- photon mapping иirradiance caching в V-Ray.
- photon mapping и final gathering в mental ray.
- radiosity и light tracer в 3dsmax.
V-Ray поддерживает несколько различных методов решения GI уравниения - точные (прямые), приблизительные, shooting и gathering. Разные методы больше подходят для различных типов сцен.
.Точные методы
V-Ray поддерживает два прямых метода для расчета:
QMC GI и прогрессивный path tracing. Различие между ними в том, что QMC GI работает с традиционным алгоритмом построения картинки (bucket rendering) и является адаптивным, в то время как path tracing работает целиком над всем образом и не использует адаптивности.Приближенные методы
Все другие мктоды используемые V-Ray (irradiance map, light cache, photon map) являются приближенными.
Излучающие (Shooting) методы
Photon map единственный shooting метод в V-Ray. Каустика может быть рассчитана с использованием photon mapping, в комбинации с gathering method.
Собирающие (Gathering) мметоды
Все другие методы в V-Ray (QMC GI, irradiance map, light cache) это собирающие (gathering) методы.
Гибридные методы
V-Ray может использовать разные GI алгоритмы для главного и вторичного отражения луча, что позволяет комбинировать прямые методы и приблизительные методы, shooting и gathering алгоритмы, в зависимости от поставленной цели. Некоторые возможные комбинации демонстрируются в примерах на GI examples page.