Детали использования сферических функций для интерактивного рендеринга.
Автор: Антон Капланян
В последнее время в компьютерной графике сильно возрос интерес к получению фотореалистичных изображений с использованием сложных материалов и источников света. Освещение от обширных источников света, мягкие тени, самоотражения и глобальное освещение (global illumination) – довольно важные эффекты в синтезе фотореалистичных изображений.
1. Аннотация
2. Введение
3. Постановка задачи
4. Построение математической модели: ДФОС и ДФРС
1. Двулучевая функция отражательной способности (ДФОС)
2. Двулучевая функция рассеянного света (ДФРС)
4.1 Приближение ДФРС
4.2 Генерация ДФОС
5. Рендеринг
5.1. Расчёт диффузной составляющей
5.2. Расчёт зеркальной составляющей
1. Генерация ДФРС
2. Вычисление скалярного произведения
3. Вычисление самозатенения
6. Результаты
7. Примеры использования
8. Приложения
9. Список литературы
1. Аннотация
Для этого в неинтерактивных приложениях чаще всего используются методы трассировки лучей, фотонных карт, излучательности и т. д. Все эти методы обладают очень большой вычислительной ёмкостью и в связи с этим не пригодны для использования в интерактивной компьютерной графике. К сожалению, стандартные методы интегрирования по источникам окружения большого масштаба [8], включая трассировку лучей методом Монте-Карло [7][21][25], метод излучательности (radiosity) [6], а также многопроходный разделённый рендеринг от нескольких источников света [17][27][36], не подходят для интерактивного рендеринга. Поэтому интерактивные приложения используют небольшой набор точечных источников света для вычисления освещения и сравнительно простые материалы объектов (модели освещённости).
Для создания средствами компьютерной графики физически адекватных, реалистичных изображений необходима детальная информация о светорассеивающих свойствах изображаемых поверхностей. Общепринятой формой представления такой информации является так называемая обобщенная двулучевая функция распределения света (далее ОДФРС), также часто встречающаяся в зарубежной литературе как BRDF (Bidirectional Reflectance Distribution Function). Во многих случаях, как будет показано далее, всегда существует возможность разложить эту функцию на двулучевую функцию рассеянного света (далее ДФРС) и двулучевую функцию отражательной способности (далее ДФОС).
Полное реалистичное освещение в интерактивном режиме насчитывает три проблемы:
- необходимо моделировать сложные, изменяющиеся в пространстве ДФРС и ДФОС для различных материалов,
- необходимо интегрирование по полусфере направлений освещения;
- необходимо учесть затенение.
Большое количество исследований было сфокусировано на разложении ОДФРС (так называемые ламбертовые и видозависимые отражения), для решения проблемы интегрирования по полусфере путём представления входящего освещения в точке поверхности как суммы направленных или точечных источников. Таким образом, интегрирование по полусфере довольно легко упрощается до генерации ОДФРС или выборки табличных, предрасчитаных в нескольких точках, значений, но усложняется для больших источников света. Вторая ветвь исследований идёт в сторону расчета освещённости и предварительной свёртки с различными ядрами [5][14][19][24][34]. Таким образом, решается проблема интегрирования по полусфере, но ценой игнорирования затенения и локальных свойств поверхности, так как свёртка предполагает прямой с не затенённым и не преломлённым потоком света. И последняя ветвь: существуют довольно искусные техники приближений более сложных световых окружений, особенно для самозатенения. Таким образом, интегрирование по полусфере входного светового потока является довольно важной проблемой; эти методики непригодны для динамического освещения.
В данной статье рассматривается метод комплексного расчета освещения от неточечных источников произвольной конфигурации (глобальное освещение) для интерактивной визуализации изотропных комбинированных (представимых в виде композиции идеально диффузного и идеально зеркального) материалов с учётом самозатенения с использованием аппаратного ускорителя.
2. Введение
Всё больший и больший интерес к точности моделей освещения сцен проявляется в последнее время в сфере интерактивных приложений (как то: компьютерные игры, пакеты для моделирования и дизайна, различные программы визуализации данных и т.д.). Задача ЭВМ в таких приложениях состоит в том, чтобы построить изображение заданной сцены с заданного положения наблюдателя за интерактивное время (обычно, за менее, чем 30 мс). Сцена представляет собой некоторый набор входных данных: геометрия объектов, их рассеивающие и отражающие свойства, расположение источников и наблюдателя и т.д.
Рис. 0. Предрасчитанная, освещённость без затенения из [34] (слева) и предрасчитанная передача световой информации с затенением PRT (справа).
Для ускорения построения сцены используются аппаратные ускорители, которые способны обрабатывать набор вершин, триангулировать его (разбивать поверхность на набор треугольников), проецировать полученные треугольники на плоскость экрана и исполнять небольшое вычислительное ядро для каждого пикселя. Ускоритель имеет несколько стадий конвейера, наиболее востребованными и гибкими из которых являются: вершинная и пиксельная. Первая обрабатывает, например, по 3 вершины (то есть 1 треугольник). Вторая, после проецирования треугольника на плоскость экрана, обрабатывает каждый пиксель (точку на экране). Оба конвейера программируемы.
3. Постановка задачи
Задача данной статьи состоит в том, чтобы в интерактивном режиме при помощи аппаратного ускорителя рассчитывать освещение сцены при заданном световом окружении и заданных свойствах материалов и геометрии сцены.
Ограничения задачи:
- только неточечные источники света;
- материалы, представимые в виде комбинации идеально диффузного и идеально зеркального материалов;
- метод охватывает только статичную часть геометрии сцены.
Не смотря на столь серьёзные ограничения, спектр возможностей довольно широк. Идея предлагаемого метода состоит в том, чтобы для каждой вершины геометрии сцены заранее предрасчитывать функцию (о которой в следующем пункте), которая показывает, как данная точка перераспределяет поступивший в неё по видимой из неё полусфере, свет (энергию) и при рендеринге при помощи этой функции простыми методами получать яркость в данной вершине, после чего билинейно интерполировать её между вершинами треугольника, получая конечную яркость точки экрана.
4. Построение математической модели: ДФОС и ДФРС
Ограничимся классом материалов, которые можно представить как композицию идеально диффузного (ламбертова поверхность) и идеально зеркального материалов. Это довольно широкий класс материалов. В него не входят лишь материалы, анизотропией которых нельзя пренебречь (шёлк, некоторые виды кристаллов и т.д.) и материалы, хорошо пропускающие свет (стекло, молоко, кожа и т.д.).
Таким образом, задача сводится к расчёту освещения всего двух материалов: идеально зеркального и идеально диффузного. Их свойства можно в полной мере описать соответственно двумя определёнными ниже функциями:

Рис. 1. Пример ДФОС.
1. Двулучевая функция отражательной способности (ДФОС)
Двулучевая функция отражательной способности (ДФОС) определяется как отношение количества энергии (света), отраженной в направлении w0 к количеству энергии, попавшей на поверхность с направления wi. Пусть количество энергии отраженной в направлении w0 равно L0, а количество энергии, пришедшей с направления wi равно Ei. Тогда ДФОС равна: