автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего освещения

кандидата физико-математических наук
Свистунов, Сергей Сергеевич
город
Екатеринбург
год
2013
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего освещения»

Автореферат диссертации по теме "Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего освещения"

На правах рукописи

Свистунов Сергей Сергеевич

Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего освещения

05.13.18 — Математическое моделирование, численные методы и комплексы программ

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

? 1 ' ОЯ 2013

005538973 ПШ

Екатеринбург — 2013

005538973

Работа выполнена на кафедре прикладной математики и информатики в ФГБОУ ВПО «Тульский государственный университет».

Научный руководитель: доктор физико-математических наук

Горбачев Дмитрий Викторович

Официальные оппоненты: Протасов Владимир Юрьевич, доктор физико-

математических наук, ФГБОУ ВПО «Московский государственный университет имени М.В. Ломоносова», профессор кафедры общих проблем управления механико-математического факультета

Васильев Станислав Николаевич, кандидат физико-математических наук, ФГБУН «Институт математики и механики имени H.H. Красовского УрО РАН», г. Екатеринбург, научный сотрудник отдела теории приближения функций

Ведущая организация: ФГАОУ ВПО «Московский

физико-технический институт (государственный университет)», г. Долгопрудный, Московская область

Защита состоится 18 декабря 2013 г. в 14-00 ч. на заседании диссертационного совета Д 212.285.25 на базе ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н. Ельцина», по адресу: 620000, г. Екатеринбург, просп. Ленина, 51, зал диссертационных советов, комн. 248.

С диссертацией можно ознакомиться в библиотеке ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н. Ельцина».

Автореферат разослан «» ЯЧХоМл 2013 г.

Ученый секретарь Пименов В.Г.

диссертационного совета, доктор физико-математических наук, профессор

Общая характеристика работы

В работе изучается проблема компьютерной ЗБ-графики, заключающаяся в моделировании (визуализации или рендеринге) в интерактивном режиме сложного фотореалистичного освещения.

Более подробно задача состоит в следующем. Имеется трехмерная сцена из источников освещения, объектов (ЗО-модели) и наблюдателя (камеры). Камера в сцене, как и сцена относительно камеры, могут произвольно перемещаться и вращаться в реальном (интерактивном) режиме времени. Требуется в этом же режиме визуализировать сцену, для чего необходимо рассчитывать и отображать с частотой в несколько десятков и сотен раз в секунду па экране кадры — проекции сцены в виде 20-изображений на камеру.

313-модель стандартно задается полигональной поверхностью, чаще всего триангулированной. Рассматривается случай статической модели. Случай модели с изменяющейся в реальном режиме времени (анимиро-ванной) поверхностью более сложен и во многом опирается на эффективное решение статического случая.

Нами рассматривается случай непрозрачной поверхности, отражательные возможности которой задаются при помощи двунаправленной функции отражательной способности (ДФОС). Наиболее простым и изученным является случай диффузной (ламбертовской) поверхности. Мы же основной упор делаем на более сложный случай зеркальной (фонговской) поверхности.

Главной особенностью работы является моделирование в интерактивном режиме сложного (фотореалистичного) освещения. Оно получается, когда источник света является распределенным по всей сфере и задается картой окружения, представляющей собой изображение окружающего пространства со всех сторон. Обычно используется кубическая карта освещения (СиЬетар), состоящая из 6 фотографий. В качестве примера подобного падающего освежения можно привести естественное освещение. Достичь соответствующего эффекта от него при помощи наиболее применяемых на практике простых источников света (например, точечных, конусных) очень затратно.

Свет от источника освещения (Ь), попадая на различные поверхно-

сги, отражается. Именно на основе отраженного освещения (В) строиться итоговое изображение (кадр). При этом фотореалистичность достигает за счет учета физических законов распространения света. В работе рассматривается случай первичного освещения, когда лучи света однократно отражаются от поверхности. Такой модели распространения света в компьютерной графике отвечает уравнение рендеринга для первичного отраженного освещения (Reflection Equation) [4, 11]. Оно имеет вид

Здесь S2 — единичная сфера, <1ц(х) = dx/{Air), Bp{v,g) — функция яркости отраженного освещения в точке модели р по направлению v € S2, д 6 SO(3) — вращение карты окружения относительно базового положения, L € 1/2(S2) — функция яркости удаленного окружающего освещения, Vp € ¿2(-52) — функция видимости в точке р, pp(x,v) — ДФОС с учтенным ламбертовским множителем (nrx)+ = max(0,прх), где пр — нормаль поверхности модели в точке р.

Уравнение (1) отвечает локальной модели освещения, поскольку не учитываются переотраженные от точек модели лучи. Оно является частным случаем общего уравнения рендеринга Kajiya [4, 7] для вторичного освещения, которое включает первичное освещение и учитывает переотражеиия. Уравнение Kajiya отвечает глобальной модели освещения. Оно имеет сложный вид и применяется в методе трассировки лучей. Для интерактивного режима уравнение Kajiya используется, в основном, при моделировании диффузных поверхностей.

Актуальность темы. Интерактивный рендеринг широко используется в компьютерных тренажерах, научной визуализации, компьютерных играх, кино, рекламе, дизайне. Поэтому разработка эффективных методов его реализации является важной проблемой современной компьютерной ЗО-графикп.

Задача интерактивного рендеринга, когда в качестве источника освещения выступает карта окружения, исследовалась многими авторами [6,10, 12, 15]. При этом моделирование, как правило, осуществлялось именно па основе аппроксимации уравнения рендеринга для первичного отраженного освещения (1).

В начале 2000 годов для аппроксимации уравнения рендеринга был разработан метод предварительного расчета излучательной способности модели — Precomputed Radiance Transfer или PRT. Этот метод использует разложения подынтегральных функций в сферические ряды Фурье и их приближения частичными суммами (метод сферических гармоник). В PRT рассматривается только низкочастотное окружающее освещения, когда L хорошо приближается в L2(S2) частичной сум-

(1)

мой ряда Фурье L малого порядка. В случае высокочастотного освещения возникают суммы большого порядка, которые не применяются при вычислениях в интерактивном режиме.

В 2001 году R. Ramamoorthi, P. Hanrahan [12] рассмотрели уравнение рендеринга (1) без учета функции видимости. В этом случае не учитывается затенения и картинка получается не совсем реалистичной. Результаты работы [12] вошли в диссертацию R. Ramamoorthi [10], в которой были рассмотрены диффузные, зеркальные и более общие поверхности.

Собственно метод PRT с учетом функции видимости и, как следствие, более реалистичной картинкой был разработан в 2002 году P. Sloan, J. Kautz и J. Snyder в [15]. В нем для решении задачи интерактивного рендеринга со сложным освещением используется некоторая заранее рассчитанная информация — сферические коэффициенты Фурье падающего освещения и функции транспорта модели, содержащей функцию видимости и ДФОС. Отметим, что результаты работы [15] оказались особенно эффективными в диффузном случае ДФОС Ламберта, когда свет рассеивается во всех направлениях одинаково. В зеркальном же случай ДФОС Фонга, когда есть зависимость от заранее неизвестного направления v, возникли сложности при реализации.

В 2003 году R. Green в статье [6] приводит подробные сведения, необходимые для реализации метода PRT в случае диффузной поверхности. В частности, он привел расчетные формулы Монте-Карло для сферических коэффициентов Фурье карты окружения, формулы для быстрого вычисления матриц вращения сферических гармоник и примеры программного кода.

В 2009 году R. Ramamoorthi [11] подробно изложил историю отмеченных задач и достигнутые на тот момент результаты по проблематике интерактивного рендеринга, включая многие аспекты метода PRT: использование вейвлетов, высокочастотное освещение, проблемы обратного рендеринга и др. Эти задачи имеют свою специфику и здесь не рассматриваются.

Метод PRT на основе сферических гармоник продолжает развиваться. Он реализован в SDK DirectX [17], но только для ламбертовских поверхностей.

Актуальной проблемой интерактивного рендеринга, в том числе основанного на методе PRT, является задача получения мягких теней. Как уже упоминалось, моделирование освещения на основе уравнения рендеринга позволяет получить их за счет входящей в него функции видимости. Полноценный учет функции видимости весьма сложен [13]. Поэтому популярным подходом является ее аппроксимация частичной суммой ряда Фурье, часто просто константой. Случай аппроксимации константой (называемой коэффициентом затенения) связан с известной

Рис. 1. Результат работы метода метода сферических дизайнов в разных картах окружения

технологией генерации мягких теней Ambient Occlusion [8, 14]. Отметим, что приложения технологий, основанных на Ambient Occlusion и сферических гармониках (PRT), использованы в таких фильмах, как «Аватар» и отмечены кинематографической премией «Оскар» [9, 16].

В 2007 году авторы статьи [1] для аппроксимации уравнения рендеринга предложили новую идею, состоящую в применении сферических дизайнов небольшого порядка с равными весами и единичной весовой функцией. Дизайны представляют собой узлы и веса экстремальных кубатурных формул на сфере, точных для алгебраических многочленов. Однако некоторые моменты в [1] изложены не совсем ясно, в частности, вызывает сомнение корректность учета функции видимости и ДФОС их значениями в точках дизайна небольшого порядка.

В данной работе используется идея статьи [1] о применении сферических кубатурных формул небольшого порядка в противовес сфери-

б

ческим коэффициентам Фурье. При этом мы предлагаем новые вычислительные модели, которые базируются на использовании взвешенных сферических дизайнов с произвольной весовой функцией, теория построения которых практически не развита.

Постараемся на простых примерах показать суть нашего метода сферических дизайнов (МСД) и его преимущества перед методом PRT. Результаты работы МСД можно увидеть на рис. 1.

В реальном режиме времени необходимо рассчитывать кадры с частотой, скажем, 25 кадров в секунду (25 fps). В каждом кадре для получения фотореалистичности нужно рассчитать отраженное освещения на основе уравнения рендеринга (1):

Ясно, что интеграл в нем на практике в любом случае необходимо вычислять приближенно при помощи конечной суммы, например, получаемой при помощи кубатуры большого порядка. Однако количество точек модели р может достигать сотен тысяч, соответственно столько же вычислений необходимо производить на каждый кадр. Очевидно, что выполнять такие вычисления при помощи сумм большого порядка практически невозможно. Поэтому необходимо на основе общепринятой физико-математической модели (1) разработать приближенную вычислительную модель, в которой отраженное освещение Вр с заданной точностью находится из сумм небольшого порядка (Вр).

Приведем идею метода PRT в нашем изложении. Первое упрощение модели (1) производится из информации о низкочастотности освещения. Тогда па основе неравенства Конш-Буияковского можно с необходимой точностью заменить в интеграле (1) функцию яркости падающего освежения L частичной суммой ее сферического ряда Фурье L - Х!?=о 5Z|m|<i Lirnylrn небольшого порядка s, где Llrn — коэффициенты Фурье L, yi,n — ортонормированные сферические гармоники.

Рассмотрим вначале диффузный случай ДФОС Ламберта рр{х, v) = 4(пра;)+. Она не зависит от заранее изменяющегося в интерактивном режиме направления v, а зависит только от нормали пр в точке поверхности модели р. Для статической модели нормаль и функция видимости Vp в каждой точке будут неизменными. Поэтому такой будет, так называемая, функция транспорта Тр(х) — 4Vp(x)(npx) + . В итоге, применяя равенство Парсеваля, будем приближенно иметь

i=0 |т|<;

где Lirn{fj) — подкрученные с учетом вращения g коэффициенты Фурье Lim. Они вычисляются эффективно на центральном процессоре

(2)

(CPU) сразу на весь кадр. Коэффициенты транспорта содержат сложно определяемую функцию видимости Vp. Обычно ее значения вычисляются для пучка лучей, выпускаемых из точки р. При этом необходимо решать классическую задачу ЗВ-графики об определении факта пересечения луча с полигональной поверхностью модели. Для ее эффективного решения применяются различные способы, например, kd-и окто-деревья. Также можно использовать предлагаемые в работе методы карт глубины и параллельных вычислений на графических процессорах (GPU). Однако в любом случае для большого числа полигонов модели (сотни тысяч) и большого числа лучей (тысячи) эти вычисления производятся пока не в режиме реального времени (offline). Поэтому необходимый набор коэффициентов функции транспорта (Tp)im рассчитываются для каждой точки р в неинтерактивном режиме и сохраняются для последующего использования в интерактивном режиме (online). Заметим, что в этом и состоит суть названия метода PRT — Precomputed Radiance Transfer. В режиме реального времени расчеты ведутся на основе вычислительной модели (2), имеющей вид простого скалярного произведения двух небольших векторов, координаты которых легко определяются (извлекаются из памяти GPU).

Теперь рассмотрим зеркальный случай ДФОС Фонга pp{x,v) = u&(vnpx). В этом случае соответствующая функция транспорта, как и ее коэффициенты Фурье, будет зависеть от определяемого в интерактивном режиме вектора v. Поэтому заранее их можно рассчитать только для густого в каждой точке р пучка направлений v. Это приводит к очень большим объемам необходимой памяти и, кроме того, падает точность вычислений. Поэтому в качестве промежуточного можно использовать следующее приближение уравнения (1):

Вр(и,9)=/ L(gx)Vp{x)u„(vnx)dn(x), (3)

Js2

где Vp — частичная сумма ряда Фурье функции видимости небольшого порядка s'. Самый простой случай получается при s' = 0, когда Vp « (VP)00 — аппроксимация константой, называемой коэффициентом затенения или Ambient Occlusion [8, 14]. Используя разложения в ряды Фурье подынтегральных функций в (3), получаем (см. лемму 1.2)

_ i+i'

К.). (4)

l,m V,m' ¡"=|i-Z'|

где I ^ s, I' ^ s'. Это громоздкое выражение весьма сложно применять в интерактивном режиме прежде всего из-за относительно большого числа не совсем просто вычисляемых слагаемых. Нарушается основное

требование интерактивного режима, заключающееся в простоте вычислительной модели.

Теперь посмотрим, что дает предлагаемый нами подход с использованием взвешенных сферических дизайнов с произвольной весовой функцией. В этом случае для величины приближенного отраженного освещения ~Вр(у,д) из (4) получаем другое выражение (см. теорему 2.1

и комментарии к ней): _

ВР{ь,д) = "¿Г Ьи„иЬ(ддуП11з:ип„)Ур(д„Прхи„и), (5)

где {хш„„, — взвешенный дизайн порядка 5 -I- в', построенный

по весовой функции В вычислительной модели (5) гораздо меньшее по сравнению с (4) число слагаемых (см. таблицу 1), значения Ь легко вычисляются по дизайну с весом Ь или просто берутся из текстуры. Для вычисления Ур также можно применить дизайны с весами Ур, которые заранее вычисляются и сохраняются (но аналогии с коэффициентами (1/р)(т). Интерактнвность заключается в расчете вращений д„„р, что легко реализуется прямо в шейдере.

Цель и задачи работы. Цель состоит в решении задачи интерактивного рендеринга при помощи сферических дизайнов для сложного низкочастотного окружающего освещения, задаваемого картой окружения. Для ее достижения поставлены следующие задачи.

1. Изучается часто встречаемый на практике случай низкочастотного падающего окружающего освещения, взаимодействующего с диффузными или зеркальными поверхностями. Используется известная физико-математическая модель, задаваемая уравнением рендеринга для первичного отраженного освещения. Прямое применение этой модели в интерактивном режиме невозможно. Поэтому необходимо получить приближенные вычислительные модели на основе расчетных формул в виде простых сумм небольшого порядка, которые учитывают специфику архитектуры современной вычислительной техники и эффективно реализуются в режиме реального времени.

2. В противовес известному методу РИТ, основанному на использовании сферических рядов Фурье разрабатывается метод сферических дизайнов

(МСД). Для его применения необходимы простые численные методы построения взвешенных сферических дизайнов небольшого порядка с произвольной весовой функцией, задаваемой аналитически или картой окружения. Простота вычислительных формул необходима в том числе для построения дизайнов массированно в параллельном режиме. Также МСД требует эффективные способы

вычисления сферических коэффициентов Фурье карты окружения и функции видимости.

3. Полноценная реализация МСД на основе этапов математического и численного моделирования требует вычислительных алгоритмов, эффективно реализуемых при помощи архитектуры современной вычислительной техники. К этим алгоритмам относятся расчеты взвешенных сферических дизайнов, сферических коэффициентов Фурье и отраженного освещения. В частности, учитывая специфику интерактивных ЗБ-приложений по использованию больших объемов сложно организованных данных и вычислений, разрабатываемые алгоритмы должны допускать параллельную реализацию. На основе предлагаемых алгоритмов с упором на применение свободно распространяемого программного обеспечения требуется выполнить программную реализацию МСД в виде комплекса программ.

Методика исследований. В работе используются методы математического моделирования и компьютерной ЗБ-графики, теории гармонического анализа на сфере и кубатурных формул, численные методы многомерной оптимизации.

Научная новизна и результаты выносимые на защиту. Основные результаты диссертации являются новыми и состоят в следующем.

1. На основе уравнения рендеринга для низкочастотного освещения разработаны вычислительные модели интерактивного рендеринга, базирующиеся на применении взвешенных сферических дизайнов небольшого порядка с произвольной весовой функцией, заданной численно картой окружения или аналитически. Эти модели составляют суть нового метода сферических дизайнов (МСД).

2. Предложены простые численные методы и алгоритмы реализации МСД, в том числе построения взвешенных сферических дизайнов с произвольной весовой функцией. В силу простоты они адаптированы для применения параллельного программирования, что позволяет эффективно выполнять их на современных GPU.

3. Для интерактивного рендеринга при помощи МСД реализован комплекс программ, использующий вычислительные мощности современных GPU, в частности технологии NVIDIA CUDA и OpenCL.

Теоретическая и практическая значимость. Теоретическая значимость работы заключается в развитии методов получения простых вычислительных моделей интерактивного рендеринга на основе сложных физико-математических моделей, а конкретно уравнении рендеринга для первичного отраженного освещения. Для этого предложено использовать взвешенные сферические дизайны с произвольной весовой функцией, теория которых пока не сильно развита. Эта работа, в

том числе, дает мотивацию на проведение теоретических исследований в этом направлении.

Практическая значимость работы заключается в реализации предложенных методов и алгоритмов с учетом возможностей современных GPU по параллельным вычислениям.

Публикации. По теме диссертации опубликованы 9 печатных работ [18-26], в том числе две в рецензируемом научном журнале, входящем в перечень ВАК [18, 19].

Апробация работы. Результаты диссертационной работы докладывались на следующих конференциях:

• Международная научная конференция «Современные проблемы математики, механики, информатики», Тула, ТулГУ (2010, 2011, 2012, 2013);

• Всероссийская конференция «Высокопроизводительные параллельные вычисления на кластерных системах», Нижний Новгород, ННГУ им. Н.И. Лобачевского (2012);

• XX Международная конференция «Ломоносов-2013», Москва, МГУ им. М.В. Ломоносова (2013);

• ГрафиКон'2013: 23-я Международная конференция по компьютерной графике и зрению, Владивосток, Институт автоматики и процессов управления ДВО (2013).

На научных семинарах:

• «Анализ, оптимизация и прикладные задачи» под руководством В.М. Тихомирова, МГУ, 08.12.2011 (совм. с Д.В. Горбачевым);

• «Экстремальные задачи теории функций и их приложения» под руководством В.В. Арестова, ИММ УрО РАН им. H.H. Красовского, Екатеринбург, 20.06.2013;

• «Вычислительная математика и приложения» под руководством A.B. Богатырева, ИВМ РАН, 03.09.2013.

Материалы указанных выше конференций опубликованы в [20-26].

Структура и объем работы. Диссертация состоит из введения, 3 глав и списка литературы. Главы разбиты на параграфы. Общий объем работы — 144 страницы. Библиография содержит 74 наименований.

Краткое содержание диссертации

Во введении представлена постановка задачи, определяются цели и задачи работы, обосновываются актуальность, теоретическая и практическая значимость исследования, приводятся основные результаты и достижения работы. Также приводится краткое описание вывода уравнения рендеринга для первичного отраженного освещения на основе физических законов распространения света.

Первая глава посвящена моделированию сложного интерактивного освещения в сцене на основе уравнения рендеринга для первичного отраженного освещения. Подробно описываются величины, входящие в него.

Далее, помимо основных модельных уравнений, даются необходимые для всей работы определения, приводятся некоторые сведения из гармонического анализа на сфере и доказывается в виде теоремы 1.1 первоначальная аппроксимация уравнения для первичного освещения в низкочастотном случае. Кроме того, излагается известный метод предварительного расчета излучательпой способности объекта визуализации (ЗБ-модели), который в графике принято называть PRT (Precomputed Radiance Transfer) [11]. Наше изложение PRT оригинально и во многом опирается на теорему 1.1. Так же мы предлагаем способ учета функции видимости при помощи ее частичной суммы ряда Фурье, эффективный для предлагаемого метода сферических дизайнов (МСД). В частном случае суммы нулевого порядка получаем учет функции видимости при помощи коэффициентов затенения, близкий к известному методу Ambient Occlusion [8, 14].

Основная проблема заключается в том, чтобы в интерактивном режиме для каждого кадра максимально быстро и качественно вычислить B{v,g) (1) во всех вершинах модели (далее обозначение точки р опущено). При этом vug могут быть произвольными.

Для решения проблемы необходимо аппроксимировать интеграл в (1) конечной суммой небольшого порядка, вычисление которой хорошо портируется на архитектуру современных GPU.

Функции L, V и р неизменны, если соответственно освещение, геометрия модели и ее материал также не меняются.

Главное внимание в работе уделяется ДФОС Фонга

pP(rv) = wa(rv) = {2а + 2)(rv)l,

где г = хп = 2{пх)п - х — зеркальный к х относительно нормали п вектор, а > 0 — показатель Фонга. Это вызвано тем, что при использовании ДФОС Фонга возникают сложности в известном методе решения основной проблемы PRT. Для ДФОС Фонга справедливо другое представление, означающее ее зональность: wa{rv) = uia(vnx).

Рассматривается важный на практике случай низкочастотного окружающего освещения L, когда его основная энергия передается на низких частотах. Освещение называется низкочастотным, если при небольшом s

\\L - Ь\\2 = (\\L\\l - ||Z||!)1/2 sC £\\Ц\2,

где e - малое положительное число, L(x) = -£sl=0 Etn=-I Llmylm{x) -частичная сумма ряда Фурье порядка s по действительным ортонор-мированным сферическим гармоника у1т. С физической точки зрения норма IILH2 является энергией сигнала L, a |[L||| — его энергия на низких частотах.

Справедлива следующая теорема, которая является промежуточным шагом к получению приближенных вычислительных моделей.

Теорема 1.1. Пусть

д) = J L{gx)V{x)p(x, v) dfi(x). (б)

Тогда для любых v £ S2 и g е 5(3) справедлива оценка \B(v>g)-B{v,g)\^£\\L\\2\\p\l

где

т = sup ||p(2r,v)||2. (7)

ues2

Из приведенной теоремы следует, что для не очень большой нормы (7) точность аппроксимации B{v, д) приближенной величиной B{v, д) будет определяться параметром е. Если он мал при небольшом s, что верно в низкочастотном случае, то аппроксимация будет хорошей.

Далее в первой главе описывается метод PRT [10, 15], который в настоящее время является основным для интерактивного рендеринга сцены со сложным освещением. Он создавался для низкочастотного освещения и основан на применении для расчета отраженного освещения B{v, д) приближенной функции B{v, д), разложенной в ряд Фурье. В работе мы приводим подробные выкладки, которые отчасти дополняют результаты основополагающей работы [15], где многие формулы не приведены.

Кратко метод PRT был описан выше. Приведем основные утверждения из главы 1 касающиеся метода PRT, а также комментарии к ним. Справедлива следующая лемма.

Лемма 1.1. При использовании частичных сумм ряда Фуръе Vyim имеем следующую расчетную формулу PRT:

B{v,g)=^2Llm{g)Tlm{v), (8)

i,m

где

Tlmiy) = Mlmtl<m'Uai>yi'm'(Vn)- (9)

I' ,77l'

Здесь

Mim,i'm'= / V(x)yim(x)yurn'(x)dn(x). JS2

Формула (8) состоит из скалярного произведения и матричного умножения в (9). Коэффициенты M;mii'm/ образуют прямоугольную матрицу М размера S х S', где S' = (s' + I)2, S = (s + l)2 « s2. Она вычисляется заранее для каждой вершины р и сохраняется в ней. В работе [15] используются значения s = 4, s' = 2 или 4, когда S = 25, S' = 9 или 25.

Метод PRT имеет следующие сложности в зеркальном случае.

1. Необходимо сохранить матрицу из SS' « s2s'2 элементов, что требует больших объемов предрасчитанной информации.

2. Для вычислений сферических гармоник в шейдере на GPU используются текстуры, что приводит к увеличению размера используемой памяти и числа обращений к ней.

3. Требуется умножать матрицу М относительно большого размера 5 х S' на длинный сложно вычисляемый при помощи текстур с гармониками вектор размера 5'. Для шейдеров это является сложной операцией.

Лемма 1.2. При учете функции видимости частичной суммой ряда Фурье имеем следующую расчетную формулу PRT:

_ i+i'

'т' ^\т,1'т'шо1"У1" ,m+m'(vn). (10)

i,m i',m' г"=|г-г'|

Предрасчитанной информацией в формуле (10) является сохраняемый в каждой вершине модели относительно небольшой вектор коэффициентов Фурье функции видимости Vi'm' из S' координат (для s' = 2 это S' = 9 коэффициентов). Число слагаемых в сумме (10) равно £.s,s' (например, E4i2 = 659).

Во второй главе приводятся главные теоретические результаты работы, связанные с методом сферических дизайнов (МСД) интерактивного рендеринга.

Дизайны представляют собой веса и узлы кубатурных формул на сфере с заданной неотрицательной весовой функцией [2]. Основные результаты сформулированы в виде теорем 2.1 и 2.2. Вычислительные формулы из этих теорем позволяют эффективно и гибко реализовать расчет отраженного освещения на видеокарте в случае зеркальной (фонговской) поверхности. При этом не требуется большой дополнительной памяти и вычисления излишне больших и сложных сумм в шейдере, требуемых в методе РКГ.

Отметим, что большинство работ посвящено дизайнам с единичной весовой функцией. Спецификой нашей работы является применение дизайнов для произвольной весовой функции, задаваемой численно или аналитически.

Взвешенным сферическим дизайном порядка в <= с интегрируемой весовой функцией ш(х) ^ 0 называется конечное множество

X = {ж„, ,

состоящее из N = узлов = е и весов А„ = А„„ > 0, для которого кубатурная формула

г N

У 2 Дх)ы(х) <1ц(х) = КЦхи) (11)

и—1

точна для всех сферических многочленов /(х) степени 5 [2].

Дизайн называется минимальным, если при заданном 5 он содержит наименьшее число узлов N. В второй главе приводятся примеры дизайнов с равными и не равными весами.

Рассмотрим способы аппроксимации уравнения рендеринга с помощью взвешенных сферических дизайнов. По теореме 1.1 имеем

В(ь,д)= Цдх)У(х)р(х,у)ёр.(х). J Б2

Приблизим функцию видимости V ее частичной суммой ряда Фурье небольшого порядка а' ^ в: У{х) = ^¡'=0 У1тУ1т(х) и положим

В{ъ,д)= [ Цдх)У(х)р{х,у)(1р.(х): Js2

Справедлива следующая теорема.

Теорема 2.1. Пусть {хШгг1/, А^Л^Л — взвешенный (s+s')-du3aun, построеннглй по весовой функции о>ст(хез). Тогда

Здесь vn = gVneз- Сделаем несколько комментариев к теореме.

1. Формулу (12) можно применять при расчетах на GPU, если предварительно сохранить L в кубическую карту окружения.

2. Для вычисления частичной суммы V порядка s' ряда Фурье функции видимости при небольших s' можно использовать выражение V(x) = Eilo Y.l,n=-i Vi,nyhn{z)- Тогда в каждой точке предрасчиты-ваются при помощи кубатурных формул с равными весами {s' 4-1)2 коэффициентов Фурье Vim. Для вычисления гармоник при небольшом s' молено использовать их явные выражения или константные текстуры небольшого разрешения.

3. Можно совсем обойтись без текстур, но за счет увеличения порядка сумм: L(x) — \LlyKs(xxLu). где {xLu,\lv}„=i — взвешенный s-дизайн, построенный по весовой функции L{x) > 0. Аналогично можно поступить для функции видимости: V(x) =

A v „ А'.,(хх\/„), где {xvv, — взвешенный s'-дизайн. по-

строенный по весовой функции V(x) > 0. В этом случае в каждой вершине вместо коэффициентов Фурье надо будет предрасчи-тывать веса и узлы дизайна. Для небольших s' это потребуе т чуть больших по времени вычислений. Объемы необходимой памяти соизмеримы, например для s' = 2 имеем (2 + I)2 = 9 коэффициентов Фурье и 4 • 4 = 1G значений весов и координат узлов (их удобно использовать в декартовых координатах, хотя в сферических достаточно сохранить 4 ■ 3 = 12 значений).

4. В формуле (12) участвует вращение gVn. Оно вычисляется в каждой вершине в шейдере. Это не является затратной операцией, как и умножение матрицы размера 3 х 3 на вектор длины 3.

5. При этом сслн функция окружающего освещения L хорошо приближается в L2(5'2) сферическими многочленами небольшой степени s = 2.4, a s' — 2, то будем иметь АТШ„ = 10.18, если строить дизайны методом проекции градиента, или — 11,22, если строить дизайны методом произведения гауссовских квадратур. Последнее возможно, поскольку ДФОС Фонга является зональной функцией.

Теорема 2.1 даст главную расчетную формулу для метода дизайнов.

Ее необходимо сравнивать с формулой PRT (10) из главы 1. Важно, что

значения, получаемые по этим формулам одинаковые.

(12)

При небольшом в' в обоих случаях в каждой вершине нужно пред-расчитать (в' + I)2 коэффициентов Фурье Будем предполагать, что для хранения гармоник и окружающего освещения используются текстуры, что не очень затратно. Ключевым моментом является количество слагаемых в суммах (10) для РЫТ и (12) для МСД, а также их сложность. В первом случае имеем достаточно сложную формулу из ■ЭДрят = слагаемых, где . Во втором случае сумма состоит

из Л^ слагаемых дизайна порядка 5 4- л', в каждом из которых необходимо вычислять значение V при помощи суммы порядка (з' + I)2. Всего получаем А;мсд = ЫШг7 + I)2 слагаемых. Для часто приводимого случая й = 4, в' = 2 соответственно имеем Лгрпт = N4,2 = 659 и Л'мсд = 18 • 9 = 162 (используем б-дизайн из 18 точек).

Если для вычисления V использовать предрасчитанные дизайны (это потребует чуть большей памяти), то для з' — 2 получим сумму порядка ЛГмсд = 18-4.

Приведем формулу МСД для случая учета функции видимости при помощи частичных сумм ряда Фурье произведений Цт (матриц М).

Теорема 2.2. Пусть {х^Лу,,}^ — дизайн порядка в + в', построенный по функции видимости V. Тогда справедливо равенство

ЛГи

= (13)

и=1

где

в'

Ша{хуиУп) = йсл^Р^хууУп) 1=0

или

11=1

Здесь {хи<г11, — ¿'-дизайн, построенный по ДФОС Фон-

га шст.

Кратко сравним эту теорему с расчетной формулой РИТ. В МСД, во-первых, имеем экономию памяти для предрасчитанной информации. В РИТ для каждой вершины сохраняется (5 + 1)2(«' + I)2 элементов матрицы М. В случае МСД требуется сохранить ЛV ■ 4 значений весов и координат узлов дизайна порядка я+а'. Для з = 4, з' = 2 соответственно имеем 25 • 9 и 18 • 4.

Во-вторых, в РГСГ имеем сумму порядка (я + 1)2(в' +1)2, в в МСД — порядка , отвечающую дизайнам порядка а 4- в' и в'. Для 5 = 4,

я' = 2 соответственно имеем 25 • 9 и 18 • 4.

Сравнение основных параметров методов РКГ и МСД, влияющих на эффективность интерактивных вычислений, продемонстрировано в таблице 1.

Таблица 1. Сравнение МСД и РКГ: V — случай приближения функции видимости частичной суммой ряда Фурье; 1/у — случай учета функции видимости частичной суммой произведений Угц,п; я = 4, в' = 2

МСД (V) PRT (V) МСД Vy PRT Vy

Размер суммы 18 • 9 = 162 659 18 • 3 = 54 25 • 9 = 225

Память в вершине 9 9 18 • 4 = 72 25 • 9 = 225

Далее во второй главе описан численный метод построения взвешенных сферических дизайнов небольшого порядка с произвольным весом. Используются методы проекции градиента и произведения гаус-совских квадратур. Первый метод позволяет строить дизайны, близкие к оптимальным, а второй дает дизайны из чуть большего числа точек (для небольшого порядка), но имеет более эффективную реализацию, особенно для аналитических функций с параметром, как в случае ДФОС Фонга.

В случае единичного веса и?(х) = 1 приведенные методы можно считать известными (см., например, [5]). Нашей спецификой является адаптация к случаю произвольного веса си(х) ^ 0, задаваемого численно картой окружения или аналитически.

Метод проекции градиента основывается на минимизации квадрата ошибки

я i / n \ 2

ß = ( Y1 ~ ) Am™ ' (14)

г=0 m=-i \с=1 / хJeS2

где сoim — коэффициенты Фурье веса и>.

Метод произведения гауссовских квадратур не позволяет получать минимальные дизайны и работает только для зональных весовых функций ш{х) = cj(xa). Однако для небольших s количество точек будет несильно отличаться в большую сторону. При этом метод позволяет практически мгновенно выписывать необходимые квадратуры. Поэтому его удобно применять для задаваемых аналитически зональных весов с параметрами, в частности, ДФОС Фоига.

Приведем пример взвешенного (4,10)-дизайна (табл. 2) с весовой функцией, задаваемой красным каналом карты окружения, построенного по методу проекции градиента (рис. 2).

Таблица 2. Пример взвешенного (4,10)-дизайна (последняя колонка веса)

0.2811 0.1944 0.9398 0.0258

-0.4764 -0.5863 -0.6552 0.0325

0.1136 0.9093 0.4003 0.0234

-0.9876 -0.1079 0.1141 0.0198

0.9073 0.3063 0.2879 0.0271

0.3271 -0.6583 -0.6780 0.0351

-0.7793 0.1854 -0.5985 0.0344

0.8793 -0.4630 -0.1117 0.0289

0.7549 0.1053 -0.6473 0.0338

-0.3173 -0.5277 0.7879 0.0284

0.5718 -0.5033 0.6478 0.0218

-0.6560 0.7537 0.0404 0.0297

-0.4958 0.2995 0.8151 0.0294

0.5309 0.7568 -0.3814 0.0271

-0.1877 0.8048 -0.5630 0.0324

-0.5929 -0.8053 -0.0039 0.0262

0.1019 -0.9948 0.0048 0.0271

0.0318 0.1143 -0.9929 0.0343

Рис. 2. Карта окружения St. Peter's Basilica, Rome

Третья глава посвящена практической реализации метода сферических дизайнов.

В этой главе описывается программная реализация метода сферических дизайнов. Дается постановка задачи интерактивного (realtime) рендеринга и описание ее особенностей, рассматриваются технологии, используемые при реализации, поясняются особенности реализации на GPU. Далее приводятся расчетные формулы метода сферических дизайнов и поясняется как на практике рассчитываются величины входящие в них. Затем описывается общая логика построения вычислений, а именно разделение на предварительно рассчитываемую информацию и вычисления в интерактивном режиме. Рассматриваются основные алгоритмы: построение взвешенных сферических дизайнов по весовой функции, задаваемой ДФОС, функцией видимости или окружающим освещением; вычисление коэффициентов Фурье функции видимости и др. Приводятся псевдокоды основных алгоритмов. Далее следует описание комплекса программ, его структуры, входящие в него компонент, а так же интерфейса.

Вычисления разбиваются на две части:

• предрасчетная (offline-режим): построение дизайнов, расчет коэффициентов затенения и сферических коэффициентов Фурье, вычисление и сохранение кубических карт окружения.

• интерактивная (online-режим): расчет для каждого кадра отраженного освещения во всех вершинах модели по одной из расчетных формул.

Offline-режим выполняется заранее до процесса рендеринга, а результаты вычислений (предрасчитанная информация) сохраняются для дальнейшего использования в online-режиме.

Online-часть представляет собой шейдерную реализацию вычисления отраженного освещения по одной из формул (12), (13). Расчеты выполняются в каждом кадре для всех вершин модели. При этом используется информация сохраненная на этапе предварительных вычислений.

Алгоритм offline-части по формуле (12).

1. Определение s и s'. Для этого вычисляются коэффициенты Фурье окружающего освещения Lim частичной суммы ряда Фурье L(x) =

121=0 YLm=-i LimUimix)- Построение Cubemap для L{x).

2. Сохранение в кубические карты окружения значений сферических гармоник yim{x), I = 0,1,..., s', \т\ < I (если это необходимо).

3. Построение дизайна порядка s + s' по весовой функции хез) и сохранение его в виде массива размера NUir х 4.

4. Вычисление для каждой вершины модели коэффициентов Фурье функции видимости Vim и сохранение их в виде массива размера

Р х (s' + I)2, где P — число вершин. Алгоритм online-части по формуле (12).

1. Загрузка карт окружения L(x), yim(x) в текстурную память GPU, дизайна {хш„„, ^„vj^i в константную память GPU, а коэффициентов Фурье Vim — в вершинный буфер.

2. Вычисление вращения gVn.

3. Расчет для каждого цветового канала RGB суммы (12) с использованием заранее вычисленных и загруженных значений L(x), yim(x),

Далее в главе 3 более подробно описываются алгоритмы необходимые для вычисления предрасчитываемой информации. При этом уделяется внимание распараллеливанию вычислений для возможности их выполнения с помощью GPU. Затем приводятся особенности реализации в интерактивном режиме (online).

Наконец, рассматривается комплекс программ. Описывается какие компоненты и модули входят в состав комплекса, как их запустить и что для этого требуется. Так же приводится файловая структура комплекса. Перечислим основные компоненты комплекса программ.

1. Интерфейс для запуска полного цикла обработки данных (offline) и демонстрационного приложения (online).

2. Компонент предварительной обработки карты окружения (удаленного освещения):

• вычисление сферических коэффициентов Фурье;

• преобразование форматов карт окружения;

• построение сферических дизайнов для весовой функции задаваемой Cubemap;

• сохранение значений функции на сфере в Cubemap.

3. Компонент предварительной обработки данных модели:

• вычисления значений функции видимости;

• расчет коэффициентов Фурье функции видимости;

• построение сферических дизайнов для веса, задаваемого ДФОС и функцией видимости.

4. Компонент интерактивного приложения, представляющее собой пример реализации интерактивного рендеринга методом сферических дизайнов (демонстрация результата).

Интерфейс (см. рис. 3), представляющий собой главный компонент. Он позволяет задать входные данные (карта окружения и ЗО-модель), а так же различные настройки: степень конструируемого дизайна, используемые в расчетах дизайны, метод вычисления значений и коэффициентов Фурье функции видимости, параметр а для ДФОС Фонга и др. Компоненты предварительной обработки карты окружения и

Метод сферических дизайнов

Входные данные

|г;::КарТЭ ОкружвНИЯ--'- - -; •:• ^ ^

•••; Степень дизайнам ; г - -о-.-V' ^ ^Л^-^;:;.-;-/'. " /''ог4 ••

Загрузить ?

Ц |леб, ВМЗ. 5-1Д1. N^810 >•;>■; -; , • 1;- /

. [|лёб: ДМЗ. S=15,N«8&

;:3D-Мэдель ■■'..—т---————----

.! | ffi sser/a рр/у afytest_data/mс<з el, eg g. p^ [ { Загрузить Г;& Рассчитывать аатенекке ■

i. Степень м1лрсж.с*:маЦ1<яа функции бидимсктй:; "/•

-О ' ' '

\ Метод вычисления коэффициентов з-Зтекеиик; ■]■■/■'* Ьуфферы глубины ' . j • CUDA - V. ■ '

1 Дизайн: '. 'v:1'.---'.'У v • -'v.;. ■•

I '¡-ДФОС v-- —— ;. | Сигма < ДФОС Фонга); i

10 ^ __ ___

©в® Метод сферически* ahmvhod *

Результат обработки..........

Карта окружена« tp.hu ;; : - Открыть V 1'

1 СЬхр.ЗНИТЬг Нак^.;

К^ та окружения (частичнаяс^ммв рядз Фурье)*..: >

Открыть •• - '.-.j- : .. Сохранять Модель "{Panda30 egg формат): . • ■ •••••.■■ •-.».••.v-/. : • Открыть ..: ;Л: I .' \ ;:дО>храуйть *а£«/

Дизайны {ДФОС карта.окружения) С-вр':- }:

Открыть. . : ? | Собран #ть как.,, Ксэффмииеяты затененияСзар};-. ."г ■■: ' " . открыть ; ?..;• |.. .:.Сохранить-*эк..?

•Дополнительная информация—

Дизайн 5=4;

погрешность ерв^г = 0.196306964823 Сигма (ДФОС Фонта? в ?0 Модег.Ь' везшим 400. полигоне» 778 бремя обрйСотки « 79 се<укд

Исповдуемые кубатуры} Карта окружения: яеб. аиз. N-5810,

Лвб.ДИЭ. £-!5. N-66 Коэффициенты затенения: паб. диэ. 8-21, N-240

: Назад.: Обработка .

; ,Запуск приложения :

Вперед .1]

Рис. 3. Интерфейс управления комплексом программным

данных ЗЭ-модели предназначены для о ЙНпе-вы числений и подготовки всех необходимых данных для запуска демонстрационного приложение. Интерактивное приложение представляет из себя демонстрацию метода МСД и имеет свой интерфейс управления.

Автор выражает благодарность своему научному руководителю Дмитрию Викторовичу Горбачеву за помощь в подготовке диссертации.

Список литературы

1. Горбачев Д.В., Иванов В.И., Странковский С. А. Моделирование освещения в интерактивной графике при помощи сферических дизайнов // Изв. ТулГУ. Сер. Естественные науки. 2007. Т. 1. Вып. 1. С. 17-36.

2. Мысовских И.П. Интерполяционные кубатурные формулы. М.: Наука, 1981.

3. Akenine-Moller Т., Haines Е., Hoffman N. Real-Time Rendering. 3 ed. Wellesley, 2008.

4. Cohen M.F., Wallace J.R. Radiosity and realistic image synthesis. 3 ed. Boston, Mass.: Academic Press Professional, 1998.

5. Graf M., Kunis S., Potts D. On the computation of nonnegative quadrature weights on the sphere // Applied and Computational Harmonic Analysis. 2009. V. 27, № 1. P. 124-132.

6. Green R. Spherical Harmonic Lighting: The Gritty Details, http://www.research.

scea.com/gdc2003/spherical-harmonic-lighting.html

7. Kajiya J.T. Rendering equation I I In SIGGRAPH 86. 1986. P. 143-150.

8. Kontkahen J., Samuli L. Ambient occlusion fields, http ://www. tml. tkk.fi/~jaiine/ aofields/aofields.pdf

9. Pantaleoni J., Fascione L., Hill M., Aila T. PantaRay: Fast Ray-Traced Occlusion Caching of Massive Scenes. // ACM Trans, on Graph. (SIGGRAPH 10). 2010. V. 29, № 4. P. 37:1—37:10.

10. Ramamoorthi R. A signal-processing framework for forward and inverse rendering // Ph. D. dissertation. Stanford University. 2002.

11. Ramamoorthi R. Precomputation-Based Rendering // Foundations and Trends in Computer Graphics and Vision. 2009. V. 3, № 4. P. 281-369. http://www.es. berkeley.edu/~ravir/

12. Ramamoorthi R, Hanrahan P. An Efficient Representation for Irradiance Environment Maps // SIGGRAPH'01. 2001. P. 497-500.

13. Ren Z., Wang R., Snyder J. Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation, http://research.microsoft.com/en-us/ people/bainguo/p977-ren.pdf

14. Shanmugam P., Arikan O. Hardware accelerated ambient occlusion techniques on GPUs. http: //perumaal. googlepages. com/ao . pdf.

15. Sloan P., Kautz J., Snyder J. Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments, http://web4.es. ucl.ac.uk/staff/j-kautz/publications/prtSIG02.pdf

16. Scientific and Technical Achievements to be Honored with Academy Awards, 2010. http://www.oscars.org/press/pressreleases/2010/20100107.html

17. Precomputed Radiance Transfer. Direct3D 9, Windows, http://msdn.microsoft, com/en-us/library/windows/desktop/ЬЪ147287(v=vs.85).aspx

Публикации автора по теме диссертации в ведущих рецензируемых научных жерналах:

18. Свистунов С. С. Интерактивный рендеринг при помощи сферических дизайнов (SDPRT) для низкочастотного окружающего освещения и BRDF Фонга // Изв. ТулГУ. Естественные науки. 2011. Вып. 1. С. 188-199.

19. Свистунов С. С. Применение GPU для вычисления коэффициентов затенения в задаче моделирования интерактивного освещения // Изв. ТулГУ. Естественные науки. 2012. Вып. 3. С. 142-152.

В трудах и тезисах конференций:

20. Свистунов С-С. Метод SDPRT интерактивного рендеринга для дизкочастот-ного окружающего освещения // Материалы международной научной конференции «Современные проблемы математики, механики, информатики». Тула: Изд-во ТулГУ, 2010. С. 264-266.

21. Свистунов С.С., Д.В. Горбачев Расчет функции видимости с помощью NVIDIA CUDA // Материалы международной научной конференции «Современные проблемы математики, механики, информатики». Тула: Изд-во ТулГУ, 2011. С. 259261.

22. Свистунов С.С. Расчет функции видимости на GPU // Материалы международной научной конференции «Современные проблемы математики, механики, информатики». Тула: Изд-во ТулГУ, 2012. С 264-266.

23. Свистунов С.С. Интерактивный рендеринг на GPU: вычисление функции видимости // Материалы XII Всероссийской конференции / Под ред. В.П. Гергеля. Нижний Новгород: Изд-во Нижегородского госуниверситета, 2012. С 360-364.

24. Свистунов С, С. Интерактивный рендеринг при помощи сферических дизайнов // XX Международная конференция «Ломоносов-2013». М.: МГУ, 2013, С. 117119.

25. Свистунов С. С. Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего освещения // ГрафиКон'2013: 23-я Международная конференция по компьютерной графике и зрению. Труды конференции. — Владивосток, Институт автоматики и процессов управления ДВО РАН, 2013. С. 203-206.

26. Свистунов С. С. Аппроксимация уравнение рендеринга для первичного освещения при помощи сферических дизайнов // Материалы международной научной конференции «Современные проблемы математики, механики, информатики». — Тула: Изд-во ТулГУ, 2013. С. 573-574.

Изд.лиц.ЛР № 020300 от 12.02.97. Подписано в печать 12.11.2013 Формат бумаги 60x84 1/16. Бумага офсетная. Усл.печ. л. 1,4 Уч.изд. л. 1,2 Тираж 100 экз. Заказ 077 Тульский государственный университет. 300012, г. Тула, просп.Ленина, 92. Отпечатано в Издательстве ТулГУ. 300012, г. Тула, просп.Ленина, 95.

Текст работы Свистунов, Сергей Сергеевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Тульский государственный университет»

На правах рукописи

04201453082

Свистунов Сергей Сергеевич

Интерактивный рендеринг при помощи сферических дизайнов для низкочастотного окружающего

освещения

05.13.18 — математическое моделирование, численные методы

и комплексы программ

Диссертация на соискание ученой степени кандидата физико-математических паук

Научный руководитель: доктор физико-математических наук Горбачев Дмитрий Викторович

Тула — 2013

Оглавление

Список основных обозначений 4

Введение 8

Глава 1. Моделирование на основе уравнения рендеринга для

первичного отраженного освещения 34

1.1. Задача моделирования отраженного освещения 35

1.1.1. Уравнение рендеринга для первичного освещения 36

1.1.2. Интегральное уравнение рендеринга Каруа 40

1.1.3. Описание функций из уравнения рендеринга 41

1.2. Низкочастотное окружающее освещение 46

1.2.1. Элементы гармонического анализа на сфере Б2 46

1.2.2. Численные методы интегрирования 51

1.2.3. Определение низкочастотного окружающего освещения 52

1.3. Аппроксимация уравнения рендеринга для первичного освещения 53

1.3.1. Учет низкочастотного окружающего освещения 54

1.3.2. Метод РКГ 55

Глава 2. Аппроксимация уравнения рендеринга при помощи

метода сферических дизайнов 65

2.1. Взвешенные сферические дизайны 66

2.1.1. Определение дизайнов 66

2.1.2. Примеры дизайнов для единичного веса 69

2.2. Метод сферических дизайнов 72

2.2.1. Приближение функции видимости 73

2.2.2. Приближенное вычисление отраженного освещения

при помощи сферических дизайнов 76

2.3. Численные методы построения взвешенных дизайнов 82

2.3.1. Метод проекции градиента 83

2.3.2. Метод произведения гауссовских квадратур 91

Глава 3. Реализация метода сферических дизайнов 95

3.1. Задача интерактивного рендеринга 95

3.1.1. Постановка задачи 95

3.1.2. Используемые технологии 97

3.2. Вычислительные модели метода сферических дизайнов 102

3.2.1. Случай приближения функции видимости V частичной суммой ряда Фурье 102

3.2.2. Случай приближения V частичными суммами ряда Фурье произведений Vyim 104

3.3. Алгоритмы метода сферических дизайнов 105

3.3.1. Логика организации вычислений 105

3.3.2. Предрасчитываемая информация 109

3.3.3. Расчеты в интерактивном режиме 126

3.4. Описание комплекса программ 129

3.4.1. Структура и утилиты 129

3.4.2. Интерфейс и демонстрационное приложение 136

Список литературы 140

Список основных обозначений

М — числовая ось, R3 — трехмерное евклидово пространство

ху = х • у = xiyi + Х2У2 + ХзУз — скалярное произведение векторов х = (Х1,Х2,Х3), у = (ух, У2, Уз) Е М3

= у/хх — длина вектора х

е\ = (1,0,0), ег = (0,1,0), ез = (0,0,1) — единичные орты

S2 — {х € К3: = 1} — единичная евклидова сфера в R3

dfx(x) = dx/(47t) — инвариантная относительно вращений SO(3) нормированная (fs2 dju(x) — 1) мера на сфере

L/2{S2) — пространство функций /: S2 ->1с конечной нормой ||/||\ — (/, /) = fs2 f(x)dfi(x)

д £ 50(3) — вращение или ортогональная матрица размера 3x3, ддт = е,

т ( 1 о о \

д — транспонированная матрица, е = I о i о J — единичная матрица,

det д — 1

дх G SO(3) — вращение, переводящее орт ез в точку х G S2

(<р,0) — сферические координаты точки х = (cos (р sin в, sin <р sin 0, cos в) G S2, 0 ^ <р < 2тг, ОО^тг

р G К3 — точка (вершина) поверхности модели п = пр £ S2 — вектор нормали к поверхности модели в точке р хп — (2(пх)п — х) — зеркальный к х относительно п вектор (£)+ = max (0, t)

6(t) = 1 при t > 0 и Q(t) = 0 при t ^ 0 (функция Хевисайда)

Ь(х) — функция яркости удаленного окружающего освещения

Ур(ж) — функция видимости в точке модели р, равная 0, если луч, выпущенный из р по направлению х, пересекает модель, и 1 иначе

рр(х,у) — двунаправленная функция отражательной способности (ДФОС) с учтенным ламбертовским множителем (прх)+

рь{пх) = 4(пх)+ — ДФОС Ламберта

и)а(хпУ) — и>а(упх) — ДФОС Фонга, где и>а(Ь) = (2а + 2), <х > О — показатель Фонга

— функция яркости отраженного освещения в точке р по направлению V е Б2

— одно из приближенных выражений для Вр(у,д)

У 1т, I — 0,1,2,..., т — — действительные ортонормированные сфе-

рические гармоники

<51т,1'т' = &и>5гпт' = (У1гп,У1>т>) — символы Кронекера

¿1 — 21 + 1 — размерность базиса гармоник у1т порядка I

Р™ — присоединенные функции Лежандра

Рг — многочлены Лежандра

р(а,р) — многочлены Якоби

В[пт> (я) — матрицы вращения сферических гармоник (/^-функции Вигнера)

Сгт7'т' — (,У1тУ1>т',У1"т") — коэффициенты Клебша-Гордана для сферических гармоник, \1-1'\ + I', -I" ^ га" = т + т! ^ I"

К8 — сферическое ядро Дирихле

$1гп — коэффициенты Фурье функции / € 1/2 (52)

Е^О /1тУ1тп — ряд Фурье функции / € Ь2(52)

1 - о Е|т|</ /1тУ1тп ~ частичная сумма ряда Фурье функции / € Ь2(32) порядка в

и(ах) — зональная функция, а € Я2 — фиксированная точка (полюс) сферы,

^ = (1/2

(ш * f)(x) = Js2 tü(xx')f(x')dß(x') — сферическая свертка зональной функции uj с функцией /

Vb = Voo = Js2 dß(x) — коэффициент затенения

X = {x ши, ^шиУи^х — взвешенный сферический дизайн с неотрицательной весовой функцией (весом) и>

О(-), ... — стандартная символика асимптотических выражений

Буфер глубины — двумерный массив данных (текстура), в котором сохраняется расстояние от наблюдателя до поверхности объекта

Графический конвейер — программно-аппаратный многоступенчатый процесс, преобразующий 3D-сцепу в кадр

Кубическая карта окружения (Cubemap) — текстура из шести изображений (фотографий)

Рендеринг (моделирование или визуализация) — процесс получения изображения по данным ЗО-сцены

Модель (меш) — множество вершин, нормалей, полигонов и других параметров, задающих объект (модель) в сцене

Текстура — растровое изображение, используемое в компьютерной графике для создания различных эффектов

Шейдер (Shader) — программа, выполняемая на GPU для одной из ступеней графического конвейера

Ядро (Kernel) — программа, выполняемая в параллельном режиме на GPU

CPU (Central Processing Unit) — центральный процессор

DirectX, OpenGL — графические библиотеки

FPS (Frame per second) — число кадров в секунду

GPU (Graphics Processing Unit) — графический процессор (видеокарта)

NVIDIA CUDA, OpenCL — технологии, позволяющие использовать GPU для параллельных вычислений

Offline (предрасчет) — предварительный этап сложных вычислений, па котором рассчитывается и сохраняется необходимая для вычислений в реальном времени информация

Online — этап вычислений в режиме реального времени

PRT (Precomputed Radiance Transfer) — метод предварительного расчета из-лучательной способности модели

Realtime — режим реального времени

Reflection Equation — уравнение рендеринга для первичного отраженного освещения

Введение

В работе изучается проблема компьютерной ЗБ-графики, заключающаяся в моделировании (визуализации или рендеринге) в интерактивном режиме сложного фотореалистичного освещения.

Более подробно задача состоит в следующем. Имеется трехмерная сцена из источников освещения, объектов (ЗБ-модели) и наблюдателя (камеры). Камера в сцене, как и сцена относительно камеры, могут произвольно перемещаться и вращаться в реальном (интерактивном) режиме времени. Требуется в этом же режиме визуализировать сцену, для чего необходимо рассчитывать и отображать с частотой в несколько десятков и сотен раз в секунду на экране кадры — проекции сцены в виде 2Б-изображений на камеру.

ЗБ-модель стандартно задается полигональной поверхностью, чаще всего триангулированной. Рассматривается случай статической модели. Случай модели с изменяющейся в реальном режиме времени (анимиро-ванной) поверхностью более сложен и во многом опирается на эффективное решение статического случая.

Информацию о ЗБ-модели образуют координаты вершин модели, полигоны (индексы вершин, с помощью которых они образуются), нормали (задаются для вершин и/или полигонов), ребра (пары индексов вершин).

Помимо геометрической информации к данным ЗБ-модели относятся разнообразные характеристики поверхности, в частности ее цвет и текстура, свойства прозрачности и рассеяния падающего освещения. Нами рассматривается случай непрозрачной поверхности, отражательные возможности которой задаются при помощи двунаправлен-

ной функции отражательной способности (ДФОС). Наиболее простым и изученным является случай диффузной (ламбертовской) поверхности. Мы же основной упор делаем на более сложный случай зеркальной (фонговской) поверхности.

Главной особенностью работы является моделирование в интерактивном режиме сложного (фотореалистичного) освещения. Оно получается, когда источник света является распределенным по всей сфере и задается картой окружения, представляющей собой изображение окружающего пространства со всех сторон. Обычно используется кубическая карта освещения (Cubemap), состоящая из 6 фотографий. В качестве примера подобного падающего освежения можно привести естественное освещение. Достичь соответствующего эффекта от него при помощи наиболее применяемых на практике простых источников света (например, точечных, конусных) очень затратно.

Свет от источника освещения (L), попадая на различные поверхности, отражается. Именно на основе отраженного освещения (В) строиться итоговое изображение (кадр). При этом фотореалистичность достигает за счет учета физических законов распространения света. В работе рассматривается случай первичного освещения, когда лучи света однократно отражаются от поверхности. Такой модели распространения света в компьютерной графике отвечает уравнение рендеринга для первичного отраженного освещения (Reflection Equation) [17, 37]. Оно имеет вид

Здесь 52 — единичная сфера, (¿//(ж) = ¿х/(4тг), Вр(у,д) — функция яркости отраженного освещения в точке модели р по направлению V £ д 6 50(3) — вращение карты окружения относительно базового положения, Ь Е 1,2 (52) — функция яркости удаленного окружающего

ДФОС с учтенным ламбертовским множителем (прх)+ = max (0, прх), где пр — нормаль поверхности модели в точке р.

(1)

освещения, Vp € L2(S2) — функция видимости в точке р, pp(x,v)

Приведем вывод уравнения (1) на основе физики света, который содержится в книге [16]). Необходимо выразить яркость отраженного освещения в точке р (Вр) через яркость падающего окружающего освещения (L). Пусть Ф = — поток лучистой энергии (Вт), где

(JLL

Q = Q(p>t) ~~ энергия светового потока (Дж), р € К3, t — время (с). Рассматривается случай стационарного потока (Ф не зависит от времени). Через dA обозначим некоторую элементарную площадку в пространстве (м2) с центром в точке р и нормалью п. Освещенность Е

,, г, йФ

площадки аА определяется равенством: Ь — -—.

аА

Пусть х е S2 — некоторое направление в точке р, dx — соответствующий этому направлению телесный угол, ¿¡i{x) = dx/(4тт) — нормированный телесный угол. Тогда яркость падающего освещения определяется формулой

Цх) = -^Рг-у (2)

cos в dfi(x)

где в — угол между х и п. Для непрозрачной площадки учитываются только направления, для которых в G [0,7г/2). В случае удаленного окружающего освещения L зависит только от х (не зависит от положения площадки).

Определим яркость отраженного освещения В в точке р по направлению v Е S2 с учетом излучательных свойств материала модели. Они задаются при помощи ДФОС

I \ dB(v)

p{x'v) = шщ- (3)

ДФОС p(x,v) является безразмерной функцией, определяющей как окружающее освещение, приходящее в точку р с направления х (Е(х)), рассеивается в направлении v (B(v)). Из формул (2) и (3) следует, что

dB{v) = p(x,v) dE(x) = L(x)p(x,v) cosO dfi(x),

или, учитывая непрозрачность модели,

dB(v) = L(x)p(x,v) dfi(x), 10

где р(х,у) — р(х,у) сов 9 = р(х,у)(пх)+ — ДФОС с учтенным ламбер-товским множителем. Отсюда, окончательно, получаем уравнение рендеринга в виде

В уравнения (1) дополнительно присутствуют вращение д и функция видимости Ур. Вращение позволяет учесть повороты модели или освещения. Функция видимости необходима для учета затенений точки р моделью. Учет функции видимости Ур позволяет получать мягкие тени в противовес точечным источникам света, когда тени жесткие (для их сглаживания тогда применяются специальные фильтры). Отметим, что законы освещения от точечных и других простых источников света являются следствием (1), если включить в рассмотрение дельта-функции.

Уравнение (1) отвечает локальной модели освещения, поскольку не учитываются переотраженные от точек модели лучи. Оно является частным случаем общего уравнения рендеринга Ка,цуа [17, 27] для вторичного освещения, которое включает первичное освещение и учитывает переотражения. Уравнение Ка.цуа отвечает глобальной модели освещения. Оно имеет сложный вид и применяется в методе трассировки лучей. Для интерактивного режима уравнение Ка^уа используется, в основном, при моделировании диффузных поверхностей.

Интерактивный рендеринг широко используется в компьютерных тренажерах, научной визуализации, компьютерных играх, кино, рекламе, дизайне. Поэтому разработка эффективных методов его реализации является важной проблемой современной компьютерной ЗБ-графики.

Задача интерактивного рендеринга, когда в качестве источника освещения выступает карта окружения, исследовалась многими авторами [24, 36, 38, 44]. При этом моделирование, как правило, осуществлялось именно на основе аппроксимации уравнения рендеринга для первичного отраженного освещения (1).

В начале 2000 годов для аппроксимации уравнения рендеринга был

(4)

11

разработан метод предварительного расчета излучательной способности модели — Precomputed Radiance Transfer или PRT. Этот метод использует разложения подинтегральных функций в сферические ряды Фурье и их приближения частичными суммами (метод сферических гармоник). В PRT рассматривается только низкочастотное окружающее освещения, когда L хорошо приближается в Z^S2) частичной суммой ряда Фурье L малого порядка. В случае высокочастотного освещения возникают суммы большого порядка, которые не применяются при вычислениях в интерактивном режиме.

В 2001 году R. Ramamoorthi, P. Hanrahan [38] рассмотрели уравнение рендеринга (1) без учета функции видимости (т.е. в виде (4)). В этом случае не учитывается затенения и картинка получается не совсем реалистичной. Результаты работы [38] вошли в диссертацию R. Ramamoorthi [36], в которой были рассмотрены диффузные, зеркальные и более общие поверхности.

Собственно метод PRT с учетом функции видимости и, как следствие, более реалистичной картинкой был разработан в 2002 году P. Sloan, J. Kautz и J. Snyder в [44]. В нем для решении задачи интерактивного рендеринга со сложным освещением используется некоторая заранее рассчитанная информация — сферические коэффициенты Фурье падающего освещения и функции транспорта модели, содержащей функцию видимости и ДФОС. Отметим, что результаты работы [44] оказались особенно эффективными в диффузном случае ДФОС Ламберта, когда свет рассеивается во всех направлениях одинаково. В зеркальном же случае ДФОС Фонга, когда есть яркая зависимость от заранее неизвестного направления, возникли сложности при реализации.

В 2003 году R. Green в статье [24] приводит подробные сведения, необходимые для реализации метода PRT в случае диффузной поверхности. В частности, он привел расчетные формулы Монте-Карло для сферических коэффициентов Фурье карты окружения, формулы для быстрого вычисления матриц вращения сферических гармоник и примеры программного кода.

В 2009 году R. Ramamoorthi [37] подробно изложил историю отмеченных задач и достигнутые на тот момент результаты по проблематике интерактивного рендеринга, включая многие аспекты метода PRT: использование вейвлетов, высокочастотное освещение, проблемы обратного рендеринга и др. Эти задачи имеют свою специфику и здесь не рассматриваются.

Метод PRT на основе сферических гармоник продолжает развиваться. Он реализован в SDK DirectX [50], но только для ламбертовских поверхностей.

Актуальной проблемой интерактивного рендеринга, в том числе основанного на методе PRT, является задача получения мягких теней. Как уже упоминалось, моделирование освещения на основе уравнения рендеринга позволяет получить их за счет входящей в него функции видимости. Полноценный учет функции видимости весьма сложен [40]. Поэтому популярным подходом является ее аппроксимация частичной суммой ряда Фурье, часто просто константой. Случай аппроксимации константой (называемой коэффициентом затенения) связан с известной технологией генерации мягких теней Ambient Occlusion [31, 42]. Отметим, что приложения технологий, основанных на Ambient Occlusion и сферических гармониках (PRT), использованы в таких фильмах как «Аватар» и отмечены кинематографической премией «Оскар» [15, 33].

В 2007 году авторы статьи [7] для аппроксимации уравнения рендеринга предложили новую идею, состоящую в применении сферических дизайнов небольшого порядка с равными весами и единичной весовой функцией. Дизайны представляют собой узлы и веса экстремальных кубатурных формул на сфере, точных для алгебраических многочленов. Однако некоторые моменты в [7] изложены не совсем ясно, в частности, вызывает сомнение корректность учета функции видимости и ДФОС их значениями в точках дизайна на небольшого порядка.

В данной работе используется идея статьи [7] о применении сферических кубатурных формул небольшого порядка в противов