Синтез изображений методом излучательности Алексей Игнатенко Лекция 6 18 мая 2009 Излучательность = Энергетическая светимость Полная энергия, покидающая поверхность единичной площади Обозначение: B (=М) Единицы измерения: Вт/м2 d M dS Трассировка и Излучательность Проблема трассировки лучей – для вычисления глобального освещения нужно трассировать большое количество лучей Вычислительно сложная задача Основная идея излучательности – сохранение светимости поверхностей по мере продвижения света от источников Та же идея, что в трассировке фотонов... Трассировка Излучательность Предположения Алгоритмы излучательности решают уравнение глобального освещения при наборе ограничивающих предположений: Все поверхности ламбертовы (идеально диффузные) Поверхности могут быть поделены на участки (патчи) константной излучательности Излучательность рассчитывается только на поверхностях Расчет производится для замкнутой системы Требуются дополнительные действия по построению изображения Энергия не пропадает Эти предположения позволяют сделать уравнение глобального освещения линейным! Излучательность диффузных поверхностей Излучательность для диффузных поверхностей Bx Lo (x) cosdo Lo x Диффузная BRDF в терминах коэффициента отражения поверхности: f x Перенос энергии Упрощение формулы глобальной освещенности дает: Lx, o Le x, o f x, o , Lx, cos d x Lx L x Lx, cos d e Bx E x x Lx, cos d По прежнему есть интеграл для вычисления освещенности... Меняем область определения Преобразуем интеграл по телесному углу в интеграл по всем точкам поверхностей сцены d cos dA r2 θ угол между нормалями площадок A - дифференци альная площадь 1 если x и y взаимно видны V x, y в противном случае 0 cos cos Bx E x x B(y ) V x, y dA 2 yS r Дискретизация геометрии сцены Предположим, что геометрия разбита на N непересекающихся поверхностей (patches) Pi, i=1..N Площадь Ai Предположим, что излучательность константна на каждом Положим: 1 Bi Ai xPi B (x)dx Дискретная запись Заменяем интеграл по точках геометрии на сумму по поверхностям cos cos Bx E x hd x B(y ) V x, y dy 2 yPj r j 1 N 1 Ai N cos cos Bx dx E x hd x B(y ) V x, y dy dx 2 yPj r j 1 xPi xPi N 1 cos cos Bi Ei i B j V x, y dydx 2 Ai xPi yPj r j 1 Форм-Фактор 1 Fij Ai cos cos xPi yPj r 2 V ( x, y )dydx Fij - часть полной энергии, покинувшей площадку Pi и полученной площадкой Pj Площадка j Площадка i Форм-фактор между дифференциальными площадками Разностная площадь площадок I, j Угол между Normali и r Угол между Normalj и r FdAj dA j cos i cos j r Площадка j 2 j i Вектор из dAi в dAj dAi Площадка i r dA j Полный форм-фактор FdAj dA j 1 Fij Ai Ai A j cos i cos j r 2 cos i cos j r 2 dAi dA j Surface j j i dAi Surface i r dA j Свойства форм-фактора Зависит только от геометрии Обратимость: AiFij=AjFji Аддитивность: Fi(jk)=Fij +Fik Сумма равна единице Вся энергия, покидающая площадку, должна куда-то придти i, j 1 Fij 1 N Уравнение для дискретной излучательности N Bi Ei i B j Fij j 1 Это СЛАУ! B E BF E ΜB где M (I F ) Размеры M : NxN Большая система Но матрица M имеет некоторые особенности, упрощающие вычисление Уравнение излучательности Bi Ei i B j Fij Form Factor of surface j relative to surface i Radiosity of surface i Emissivity of surface i Radiosity of surface j Reflectivity of surface i Surface j Surface i Излучательность Разбиваем геометрию на площадки Вычисляем формфакторы Решаем СЛАУ Реконструция и показ решения Излучательность Разбиваем геометрию на площадки Вычисляем формфакторы Решаем СЛАУ Реконструция и показ решения Два интеграла для вычисления 1 Fij Ai Ai A j Площадной по i cos i cos j r 2 Vij dA j dAi Площадка j Площадной по j j i dAi Площадка i r dA j Аналогия Нуссельта Прямое вычисление форм-фактора сложно даже для простых поверхностей! Нуссельт разработал геометрический аналог, который позволяет простое и точное вычисление форм фактора между поверхностью и точкой на другой поверхности Численное интегрирование: аналогия Нуссельта Это дает форм-фактор FdAiAj Aj dAi Аналогия Нуссельта 1. Project Aj along its normal: Aj cos qj 2. Project result on sphere: Aj cos qj / r2 3. Project result on unit circle: Aj cos qj cos qi /r2 4. Divide by unit circle area: площадка Aj Aj cos qj cos qi / pr2 5. Integrate for all points on Aj: r qj FdAi A j Aj cos i cos j r 2 qi Сферическая проекция Aj cos qj/r2 Вторая проекция Aj cos qj cos qi /r2 Единичная площадь p Vij dA j Метод 1: Полукуб Аппроксимация аналога Нуссельта между точкой dAi и полигоном Aj Полигональная площадь (Aj) Дифференциальная площадь (dAi) Полукуб Для удобства используется куб высотой 1 и верхней гранью 2x2. Боковые грани 1x2 Куб разбивается на ячейки (например, 512x512 для верхней грани) Пример работы полукуба Метод полукуба 1. 2. 3. 4. Проекция всех площадок сцены на пять граней куба Z буфер для вычисления видимости Суммирование дельта форм-факторов ячеек полукуба покрытых объектами Это дает форм-фактор основания полукуба ко всем площадками Метод полукуба Достоинства + Первый практический метод + Может использовать аппаратуру + Быстрое вычисления большого количества форм-факторов Недостатки - Вычисляет дифференциально-конечный форм-фактор - Алиасинг - Ошибка видимости - Предположение об удаленности объектов - Высокая сложность вычисления одного форм-фактора Метод полукуба: алиасинг Метод 2: Площадная дискретизация 1. Делим Aj на малые части dAj 2. Для всех dAj луч dAj-dAj для поиска Vij Если видимо вычислить FdAidAj FdAi dAj cos i cos j r суммируем FdAiAj += FdAidAj 3. Имеем FdAiAj 2 dAj луч Vij dA j dAi Aj Излучательность Разбиваем геометрию на площадки Вычисляем формфакторы Решаем СЛАУ Реконструция и показ решения Матрица излучательности Bi n Bi Ei i Fij B j j 1 n Bi i Fij B j Ei j 1 1 1 F11 1 F12 F 1 2 F22 2 21 n Fn1 n Fn 2 1 F1n B1 E1 2 F2 n B2 E2 1 n Fnn Bn En Ei Матрица излучательности «Полноматричное» решение вычисляет формфакторы всех пар площадок и затем формирует СЛАУ 1 1 F11 1 F12 F 1 2 F22 2 21 n Fn1 n Fn 2 1 F1n B1 E1 2 F2 n B2 E2 1 n Fnn Bn En СЛАУ решается для всех Bi Излучение (luminance) найти легко – поверхности диффузные Решение [F][B] = [E] Прямые методы: O(n3) Гауссово исключение Goral, Torrance, Greenberg, Battaile, 1984 Итеративные методы: O(n2) Сохранение энергии ¨диагонально-доминантная¨ должна сходиться Gauss-Seidel, Jacobi: «Сборка» Nishita, Nakamae, 1985 Cohen, Greenberg, 1985 Southwell: «Бросание» Cohen, Chen, Wallace, Greenberg, 1988 «Сборка» Свет, покидающий площадку, определяется с помощью сбора света с окружения n Bi Ei i B j Fij j 1 Bi due to B j i B j Fij Bi Ei i Fij B j n j 1 «Сборка» Сборка света через полукуб позволяет обновить один патч Bi Ei i Fij B j n j 1 «Сборка» «Бросание» «Бросание» света через полукуб позволяет одновременно обновить значения излучательности для всего окружения Для всех j B j B j Bi j E ji where F ji Fij Ai Aj «Бросание» Прогрессивная излучательность Размеры площадок: Точность Размеры площадок: Артефакты Увеличение разрешения Адаптивное разрешение Излучательность Разбиваем геометрию на площадки Вычисляем формфакторы Решаем СЛАУ Реконструция и показ решения Результаты работы метода излучательности Результаты работы метода излучательности Cornell box Cindy M. Goral, Kenneth E. Torrance, and Donald P. Greenberg for the 1984 paper Modeling the interaction of Light Between Diffuse Surfaces, Computer Graphics (SIGGRAPH '84 Proceedings), Vol. 18, No. 3, July 1984, pp. 213-222. The Cornell Box Michael F. Cohen and Donald P. Greenberg for the 1985 paper The Hemi-Cube, A Radiosity Solution for Complex Environments, Vol. 19, No. 3, July 1985, pp. 3140. The hemi-cube