Научная статья на тему 'Интерактивное моделирование глобального освещения на GPU для анимированных гетерогенных сцен'

Интерактивное моделирование глобального освещения на GPU для анимированных гетерогенных сцен Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
348
89
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРАКТИВНАЯ ВИЗУАЛИЗАЦИЯ / ТРЕХМЕРНАЯ СЦЕНА / ГЛОБАЛЬНОЕ ОСВЕЩЕНИЕ / ТРАССИРОВКА ПУТЕЙ / ТРАССИРОВКА ЛУЧЕЙ / GPU / GPGPU / CUDA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Боголепов Денис Константинович, Сопин Дмитрий Петрович, Ульянов Данила Ярославович, Турлапов Вадим Евгеньевич

Предложен универсальный графический конвейер визуализации для анимированных 3D сцен с поддержкой глобального освещения, ориентированный на параллельное решение задачи на GPU. Новой является также встроенная в конвейер для GPU гетерогенность сцен – сочетание полигональных сцен с объектами других важных для виртуальной реальности типов без их предварительной тесселяции, а именно, таких как: поверхности Безье, фрактальные множества, неявно заданные функции, скалярные поля. Разработана межплатформенная версия системы на базе NVIDIA CUDA, имеющая высокую производительность построения ускоряющих структур, визуализации гетерогенных сцен и наибольшую аппаратную поддержку на процессорах последнего поколения NVIDIA Fermi.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Боголепов Денис Константинович, Сопин Дмитрий Петрович, Ульянов Данила Ярославович, Турлапов Вадим Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INTERACTIVE GPU SIMULATION OF GLOBAL ILLUMINATION IN ANIMATED HETEROGENEOUS SCENES

We propose a universal graphics rendering pipeline for animated 3D scenes with global illumination support which is oriented on GPU parallel computing solutions. A novel feature is the heterogeneity of the scenes built into the GPU pipeline, i.e. a combination of polygonal scenes with objects of other types important for virtual reality without their preliminary tessellation, such as Bezier surfaces, fractal sets, implicitly defined functions, scalar fields. A NVIDIA CUDA-based cross-platform version of the system has been developed, which has high performance in building accelerating structures, visualization of heterogeneous scenes and the best hardware support on the last-generation NVIDIA Fermi and Kepler processors.

Текст научной работы на тему «Интерактивное моделирование глобального освещения на GPU для анимированных гетерогенных сцен»

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 5 (2), с. 253-261

УДК 004.925.3

ИНТЕРАКТИВНОЕ МОДЕЛИРОВАНИЕ ГЛОБАЛЬНОГО ОСВЕЩЕНИЯ НА GPU ДЛЯ АНИМИРОВАННЫХ ГЕТЕРОГЕННЫХ СЦЕН

© 2012 г. Д.К. Боголепов1, Д.П. Сопин1, Д.Я. Ульянов2, В.Е. Турлапов

Нижегородский госуниверситет им. Н.И. Лобачевского 2Нижегородский государственный технический университет им. Р.Е. Алексеева

[email protected]

Поступила в редакцию 10.09.2012

Предложен универсальный графический конвейер визуализации для анимированных 3D сцен с поддержкой глобального освещения, ориентированный на параллельное решение задачи на GPU. Новой является также встроенная в конвейер для GPU гетерогенность сцен - сочетание полигональных сцен с объектами других важных для виртуальной реальности типов без их предварительной тесселя-ции, а именно, таких как: поверхности Безье, фрактальные множества, неявно заданные функции, скалярные поля. Разработана межплатформенная версия системы на базе NVIDIA CUDA, имеющая высокую производительность построения ускоряющих структур, визуализации гетерогенных сцен и наибольшую аппаратную поддержку на процессорах последнего поколения NVIDIA Fermi.

Ключевые слова: интерактивная визуализация, трехмерная сцена, глобальное освещение, трассировка путей, трассировка лучей, GPU, GPGPU, CUDA.

Введение

Трассировка лучей - метод построения изображений компьютерных сцен путем отслеживания траекторий распространения лучей света и их взаимодействия с объектами сцены. Данный метод был впервые предложен в 1980 году Тернером Уиттедом в работе [1] и оставался предметом активных исследований на протяжении следующих двадцати лет. Оригинальный вариант метода является простейшим алгоритмом глобального освещения (global illumine-tion), поскольку наряду с прямым освещением (direct illumination) позволяет моделировать эффекты затенения, идеального отражения и преломления. Однако полное соответствие реальности невозможно без расчета вторичного освещения, в результате которого одна поверхность освещается светом, отраженным от другой поверхности. Типичными примерами вторичного освещения служат явления переноса цвета между соседними поверхностями и каустики. Исследователи обратили внимание на важность столь тонких эффектов довольно рано. Предложенная в 1984 Куком [2] распределенная трассировка лучей добавила в процесс расчета генерацию случайных направлений, что позволило учесть некоторые эффекты вторичного освещения, включая ограниченный перенос цвета. Распределенная трассировка лучей впоследствии была расширена и обобщена в

методе стохастической трассировки путей Кайя [3]. Данное обобщение позволило учесть все пути света в сцене путем генерации достаточного числа случайных направлений. Однако сходимость решения достигается при большом объеме вычислений, что особенно остро проявляется в областях с резкими колебаниями интенсивности светового поля.

Методы на основе трассировки лучей традиционно использовались в компьютерной графике для синтеза изображений высокого качества. Параллельная природа задачи, допускающая выполнение единого алгоритма для всех пикселей формируемого изображения, и непрерывный рост возможностей многоядерных CPU и GPU со временем вывели трассировку лучей далеко за рамки медленной предварительной визуализации. Первые системы интерактивной трассировки лучей требовали либо высокопроизводительных суперкомпьютеров [4-6], либо были ограничены небольшими сценами [7] и простыми моделями освещения [8]. Сегодня существуют интерактивные системы визуализации для обычного потребительского оборудования, которые в 2007-2010 гг. позволили решать задачи [9-12], практически недоступные традиционному алгоритму растеризации.

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

рость визуализации, в то время как трудоемкость построения структур практически игнорировалось. В результате первые интерактивные системы трассировки позволяли обрабатывать сцены только со статической геометрией. Подобная ситуация породила потребность в новых ускоряющих структурах, которые допускают необходимое динамическим сценам быстрое построение или обновление при сохранении высокой скорости визуализации. Недавние исследования показали, что поддержка динамических сцен возможна при использовании всех основных ускоряющих структур, включая регулярные и иерархические сетки, k-d деревья и иерархии ограничивающих объемов (Ingo Wald, 2009) [13]. Тем не менее, в ряде случаев на анимацию налагаются ограничения, в частности, допускаются только иерархические движения примитивов или деформируемые сцены.

Наряду с поддержкой динамических сцен значительное внимание получило интерактивное глобальное освещение. Исследователи предложили различные техники, которые адаптированы для графической аппаратуры и поддерживают полное или частичное моделирование вторичного освещения (indirect illumination). В работе [13] представлен оптимизированный метод внешней преграды (ambient occlusion), который обеспечивает качественное моделирование эффектов затенения, но не учитывает многократных отражений света. В работе [13] описан подход на основе теневых карт (reflective shadow maps), который позволяет вычислять только один отскок вторичного освещения, при этом игнорируются многократные отражения и каустики. В работе [16] представлен метод мгновенной излучательности (instant radiosity), который сводит расчет вторичного освещения к прямому освещению от виртуальных точечных источников света. В работах [17, 18] авторы предложили адаптированные варианты метода фотонных карт (photon mapping), который является практичным и универсальным решением, позволяя моделировать большинство эффектов глобального освещения. Сегодня существуют развитые системы физически корректной визуализации трехмерных полигональных сцен, которые используют в своем арсенале, как упомянутые алгоритмы, так и алгоритмы Bidirectional light transport [20] и Metropolis light transport (MLT) [21]. Примерами таких систем являются коммерческие Indigo Renderer, Maxwell Render и открытые системы Kerkythea, LuxRender. Небольшую часть вычислений эти системы сегодня умеют выполнять на GPU, получая 2-3-кратное прира-

щение скорости. Однако, как пишут на официальном сайте LuxRender [22], из-за сложности задачи сегодня нет ни четких сроков, ни полной ясности, когда произойдет полный переход на GPU.

Целью настоящей работы является разработка полноценного решения для расчета глобального (или физически корректного) освещения на параллельных графических архитектурах (GPU). В основу алгоритмических решений положена ускоряющая структура на базе SAH BVH деревьев, полностью реализованная на GPU в работе [19]. Высокая производительность ускоряющей структуры позволяет обрабатывать сцены с динамической геометрией и источниками света. Полноценность алгоритмического и программного решения тесно связана с возможностью универсального использования в решении различных, существующих сегодня и тех, которые еще будут разработаны, методов визуализации, таких как: бросание лучей, трассировка лучей, стохастическая трассировка путей. Указанные методы характеризуются различными возможностями и трудоемкостью, обеспечивая компромисс между скоростью и качеством визуализации в конкретной задаче. Опору физической корректности сцены в конвейере глобального освещения должна составить библиотека реалистичных моделей материалов и источников света, работающие согласованно с математическими моделями освещения.

1. Основные математические модели освещения

1.1. Взаимодействие света с поверхностями и основное уравнение визуализации. Рассматривается общий для глобального освещения случай, когда световая энергия падает на поверхность в некоторой точке P с направления Y, а покидает поверхность в другой точке Q по направлению 0 (рис. 1).

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

рассеянного отражения (Bidirectional Surface Scattering Reflectance Distribution Function -BSSRDF).

В упрощенном случае или в случае отсутствия подповерхностного рассеяния света, когда падающая в некоторую точку световая энергия покидает поверхность в той же точке, мы используем более простую двунаправленную функцию отражения (Bidirectional Reflectance Distribution Function - BRDF). BRDF в точке x определяется как отношение энергетической яркости, отраженной в направлении 0, к облученности, падающей на поверхность через элементарный телесный угол dmT.

fr (x, T^0) = dL( Х =

dE (x ^T)

dL(x ^0) (i)

" L(x ^ T)cos(Nx,Y)droT .

Для обратной стороны поверхности используется двунаправленная функция пропускания (Bidirectional Transmittance Distribution Function - BTDF). Совместное описание отражательных и пропускающих свойств реализуется через двунаправленную функцию рассеяния (Bidirectional Scattering Distribution Function - BSDF).

Моделирование глобального освещения сцены в целом в нашем проекте осуществляется как численное решение основного уравнения визуализации (2), которое для каждой точки x поверхности и каждого направления 0 определяет исходящую энергетическую яркость L(x ^ 0), выраженную суммой яркости Le(x ^ 0), излучаемой поверхностью из точки x в направлении 0, и яркости Lr(x ^ 0), отражаемой поверхностью, с участием BRDF (1) или BSSRDF, в точке x по направлению 0.

L( x ^0) = Le (x ^0) + Lr (x ^0) = Le (x ^0) + + J fr(x,T ^ 0)L(x ^ T)cos(Nx,Y)droT. (2)

Hx

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

L( x ^0) = Le (x ^0) + Lr (x ^0) = Le (x ^0) + + J fr (x, T ^ 0)L( y ^ - T)V (x, y)G( x, y )dAy, (3)

A

где V(x, y) - функция видимости, равная едини-

це, если точки х и y взаимно видимы, и нулю в противном случае; 0(х, y) - геометрический член, который зависит от взаимного расположения поверхностей в точках х и у:

cos( N х, 4)cos(Ny ,-4)

G( х, у) =---i-.

r

ху

Для вычисления функции видимости используется операция бросания луча г(х, 4), определяющая точку соударения заданного луча с ближайшим видимым объектом сцены: r( х, 4) = {у|у = х + т4},

т = min {t | х + ife A}.

t>0

Точки х и у взаимно видимы тогда и только тогда, когда существует такое направление 4, что

г(х, 4) = у.

1.2. Стохастическая трассировка путей.

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

L(p ^ eye) = L(х ^ хр). (4)

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

Lr (х ^ 0) = Ldmct(х ^ 0) + Lndirect(х ^ 0) =

= j Le (у ^ ух )fr (х, 0 ^ ху )G( х, у )V (х, у )dAy +

A

^sources

+ j Lr (r( х, 4) ^-4) fr (х, 0-^4)cos( Nx, 4)dra4.

Нх

(5)

Прямое освещение Ldirect (х ^ 0) поступает в точку х непосредственно от источников света. Вторичное освещение Lindirect (х ^0) попадает

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

Оценка прямого освещения. В большинстве случаев вся совокупность источников света на сцене рассматривается как один логический источник света. Для каждой случайной точки у.

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

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

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

Комбинированная плотность вероятности для выбора случайной точки у, на объединенной поверхности источников света равна рь (к)р(у | к), что приводит к следующей оценке яркости для N теневых лучей:

{ЬШгеа (Х =

= ± У (У, ^ УХ) Гг ( Х, ©О ХУ~)С( Х, У, )У( Х, у )

N^=1 РЬ (к,)р(Уг|кг) .

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

Оценка вторичного освещения. При оценке вторичного освещения область интегрирования не может быть уменьшена по аналогии с предыдущим случаем. Стандартная схема Монте-Карло генерирует N случайных направлений ^ на основе заданной плотности вероятности р(¥), при этом оценка компоненты вторичного освещения имеет вид

{ЦпЛгеа (Х = (6)

= 1У Ьг (г(Х, 'I', ) ^ - ' )/г (Х, © О ' ) СРЭ(Nx, ')

Nу р(|) '

В выражении (6) отраженная яркость Ьг (г(х, I,) ) остается неизвестной вели-

чиной. Для ее оценки необходимо определить ближайшую точку соударения г(х, I,) вдоль направления и оценить яркость, излучаемую в данной точке по направлению -. Указанная яркость вновь разделяется на компоненты прямого и вторичного освещения, что приводит к рекурсивной процедуре вычисления величины ЦтИка (Х ^ ©) . Для остановки рекурсии можно установить максимальное число итераций или применить принцип русской рулетки.

В простейшем случае для генерации направлений ^ может использоваться равномерная плотность вероятности р(¥) = 1 / 2п, однако такой метод выборки приводит к высокому уровню шума. Для повышения эффективности следует применять принцип выборки по значимости, генерируя случайные направления пропорционально ВКЭР/ВТБР поверхности.

2. Архитектура системы моделирования глобального освещения для динамических гетерогенных сцен

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

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

2. Для каждого сгенерированного луча вычисляется ближайшая точка соударения с поверхностями сцены.

3. На основе информации об источниках света для точек соударения генерируются теневые лучи в направлении источников.

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

5. На основе информации о трассировке теневых лучей и свойств поверхностей вычисляется прямое освещение в точках соударения.

6. На основе свойств поверхностей в точках соударения генерируются вторичные лучи (или принимается решение о поглощении пути).

7. Вычисляется вклад вторичных лучей в облученность каждой точки соударения (выполняется переход к шагу 2).

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

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

рования глобального освещения до визуализации анимированных сцен в реальном времени с упрощенной моделью освещения.

ратная поддержка доступна в последнем поколении графических ускорителей NVIDIA Fermi).

2.2. Отображение базового алгоритма на архитектуру GPU. Принципиальное значение имеет отображение базового алгоритма на аппаратные возможности GPU и параллельные алгоритмы решения задачи на GPU, что, собственно, и позволяет в итоге построить конвейер в полном смысле слова (рис. 2).

Буфер лучей ;

Ускоряющая структура

Буфер теневых лучей

источников

Обработчики материалов

Генерация первичных лучей

i

Поиск пересечения лучей

1 '■, с геометриеи

г*. 1

Генерация теневых лучей

< \ ':<:' 1

Поиск пересечения лучей с геометрией

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Вычисление

прямого освещения

1

Генерация вторичных лучей

2.3. Метод генерации первичных лучей в конвейере. В алгоритмах на основе трассировки первичные лучи часто направляются на центры соответствующих пикселей. Такой подход приводит к эффекту «ступенчатости» изображения, для борьбы с которым применяются различные методы сглаживания. Наиболее качественные результаты обеспечивают методы избыточной выборки (Super Sampling anti-aliasing -SSAA), которые приводят к существенному снижению скорости визуализации.

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

L

•pael = j L(х ^ XP)dP.

Рис. 2

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

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

S pixel

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

2.4. Поиск пересечения луча с объектами сцены. Наиболее трудоемким этапом визуализации является поиск ближайшего пересечения луча с объектами сцены. Для повышения производительности вычислений применяются различные ускоряющие структуры, которые хранят информацию о расположении объектов сцены и позволяют избежать полного перебора. В настоящей работе в качестве ускоряющей структуры используется иерархия ограничивающих объемов (Bounding Volume Hierarchy - BVH), для которой в работе [19] были предложены эффективные алгоритмы построения и обхода, позволяющие в реальном времени визуализировать сложные динамические сцены.

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

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

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

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

2.6. Модели материалов и вторичное освещение. Для описания свойств поверхностей разработана универсальная и расширяемая подсистема материалов, в основе которой лежит разделение механизмов рассеяния света на диффузное (diffuse), размытое зеркальное (glossy specular) и идеальное зеркальное (perfect specular). Большинство реальных материалов описываются комбинацией нескольких типов отражения или пропускания (рис. 4).

Рис. 3

Рис. 4

Для задания характеристик всех перечисленных источников света используются реальные физические величины - сила света или энергетическая яркость.

При расчете прямого освещения все источники света могут объединяться в один логический источник или обрабатываться независимо друг от друга. В первом режиме вне зависимо-

Для описания механизмов рассеяния использованы соответствующие функции BRDF (Bidirectional Reflectance Distribution Function) или BTDF (Bidirectional Transmittance Distribution Function). Поскольку данные функции имеют много общего и обрабатываются одинаковыми алгоритмами, удобно ввести обобщенный термин BxDF. Тогда свойства материала можно

описать взвешенной суммой функций BxDF различного типа, которые объединяются в интегральную функцию BSDF (Bidirectional Scattering Distribution Function):

fs (Л, 0оУ)= £ af (X, )+

i=1

+ £ Pf ( x, ),

i=1

£ < + £ PC < 1, c e {R, G, B}.

i=1 i=1

Весовые коэффициенты ai и pi в общем случае являются векторными и определяют свойства поверхности отдельно для каждого цветового канала. Функция BSDF является физически корректной только в том случае, если неравенство (7) выполняется для всех каналов.

Текущая версия подсистемы материалов поддерживает модели Ламберта и Орена -Найяра для диффузного отражения, модели Уорда и Блинна для зеркального отражения, а также модели идеального зеркального отражения и преломления. Эффективный расчет вторичного освещения основан на принципе выборки по значимости. В настоящей работе для генерации направлений вторичных лучей используется плотность вероятности p(¥), пропорциональная конкретной функции BxDF.

3. Анализ результатов

На данный момент разработан прототип системы, который реализует представленные выше решения, однако не в полной мере использует технологии программной оптимизации.

Для оценки производительности использовались сцены, получившие широкое распространение при анализе методов глобального освещения. Визуализация выполнялась на GPU NVIDIA GeForce 560 под управлением ОС Ub-untu Linux 10.10 и CUDA Toolkit 4.0. Изображения рассчитывались методом стохастической трассировки путей при глубине пути 30. Визуализация выполнялась в разрешении 1024 х 768, окончательный результат получен усреднением 500 кадров. В следующей таблице представлены характеристики сцен и результаты замера производительности.

Таблица

Сцена Число треугольников Кадров/с

Crytek Sponza 262 K 1.8

Sibenik Cathedral 75 K 2.1

Dabrovic Sponza 66 K 3.0

Сферы - 65

Рис. 5

Рис. 6

Для демонстрации возможностей обработки неполигональных объектов построена сцена из сфер (поддерживаются системой как поверхности второго порядка).

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

Заключение

Предложен универсальный графический конвейер визуализации для анимированных 3Б сцен с поддержкой глобального освещения, ориентированный на параллельное решение задачи на ОРИ. Новой является также встроенная в конвейер для ОРИ гетерогенность сцен -сочетание полигональных сцен с объектами других важных для виртуальной реальности типов без их предварительной тесселяции, а именно, таких как: поверхности Безье, фрактальные множества, неявно заданные функции, изоповерхности скалярных полей, объемные полупрозрачные среды.

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

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

В следующих версиях системы предполагается реализовать в разработанном конвейере методы двунаправленной трассировки путей и Metropolis light transport. Наряду с этим планируется дальнейшая оптимизация алгоритмов пересечения луча с объектами сцены по производительности и объему потребляемой памяти.

Работа выполнена при поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» и гранта Правительства РФ № 11.G34.31.0066.

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

1. Whitted T. An improved illumination model for dhaded display // Commun. ACM. June 1980). 23, 6. 343-349.

2. Cook R., Porter T., Carpenter L. Distributed ray tracing // SIGGRAPH Comput. Graph. January 1984. 18, 3. 137-145.

3. James T. Kajiya. The rendering equation // SIGGRAPH Comput. Graph. August 1986. 20, 4. 143-150.

4. Keates M.J., Hubbold R.J. Interactive ray tracing on a virtual shared-memory parallel computer // Computer Graphics Forum. October 1995. 14, 4. 189-202.

5. Muuss M. Towards real-time ray-tracing of combinatorial solid geometric models // In Proceedings of BRL-CAD Symposium'95 Aberdeen Proving Ground, MD, 5-9 June 1995.

6. Parker S., Martin W., Sloan Peter-pike J. et al. Interactive ray tracing // In Proceedings of Interactive 3D Graphics. 1999. 119-126.

7. Wald I., Slusallek Ph., Benthin C., Wagner M. Interactive rendering with coherent ray tracing // Computer Graphics Forum. 2001. 20, 3. 153-164.

8. Reshetov A., Soupikov A., Hurley J. Multi-level ray tracing algorithm // ACM Trans. Graph. July 2005. 24, 3. 1176-1185.

9. Gribble C.P., Ize Th., Kensler A. et al. A coherent grid traversal approach to visualizing particle-based simulation data // IEEE Transactions on Visualization and Computer Graphics. July 2007. 13, 4. 758-768.

10. Boulos S., Edwards D., Lacewell J.D. et al. Packet based whitted and distribution ray tracing // In Proceedings of Graphics Interface 2007 (GI '07). ACM, New York, NY, USA, 177-184.

11. Singh J.M., Narayanan P.J. Real-time ray tracing of implicit surfaces on the GPU // IEEE Transactions on Visualization and Computer Graphics. March 2010), 16, 2. 261-272.

12. Mensmann J., Ropinski T., Hinrichs K. An advanced volume raycasting technique using GPU stream processing // International Conference on Computer Graphics Theory and Applications (GRAPP). 2010. 190-198.

13. Wald I., Mark W.R., Günther J. et al. State of the art in ray tracing animated scenes // Computer Graphics Forum. 2009. 28, 6. 1691-1722.

14. Shanmugam P., Arikan O. Hardware accelerated ambient occlusion techniques on GPUs // In Proceedings of the 2007 Symposium on Interactive 3D graphics and games (I3D '07). ACM, New York, NY, USA, 73-80.

15. Dachsbacher C., Stamminger M. Reflective shadow maps // In Proceedings of the 2005 Symposium on Interactive 3D graphics and games (I3D '05). ACM, New York, NY, USA, 203-231.

16. Radax I. Instant radiosity for real-time global illumination // Technical Report. Institute of Computer Graphics and Algorithms, Vienna University of Tech-

nology. May 2008.

17. Wang R., Wang R., Zhou K., et al. An efficient GPU-based approach for interactive global illumination // ACM Trans. Graph. 28, 3, Article 91. July 2009. 8 p.

18. McGuire M., Luebke D. Hardware-accelerated global illumination by image space photon mapping // In Proceedings of the Conference on High Performance Graphics. 2009 (HPG '09), New York, NY, USA, 77-89.

19. Sopin D., Bogolepov D., Ulyanov D.. Real-time SAH BVH construction for ray tracing dynamic scenes // In Proceedings of the 21st Int. Conf. on Computer Graphics and Vision. 2011. September. 26-30, Moscow, 74-78.

20. Veach E., Guibas L.J. Bidirectional estimators for light transport // Eurographics Rendering Workshop 1994. Proceedings, June 1994, Darmstadt, Germany, 147-162.

21. Veach E., Guibas L.J. Metropolis light transport // In Proceedings of the 24th Annual Conf. on Computer Graphics and Interactive Techniques (SIGGRAPH '97), New York, NY, USA, 65-76.

22. LuxRender - GPL Physically Based Renderer. Official Site (www.luxrender.net)

INTERACTIVE GPU SIMULATION OF GLOBAL ILLUMINATION IN ANIMATED HETEROGENEOUS SCENES

D.K. Bogolepov, D.P. Sopin, D.Ya. Ulyanov, V.E. Turlapov

We propose a universal graphics rendering pipeline for animated 3D scenes with global illumination support which is oriented on GPU parallel computing solutions. A novel feature is the heterogeneity of the scenes built into the GPU pipeline, i.e. a combination of polygonal scenes with objects of other types important for virtual reality without their preliminary tessellation, such as Bezier surfaces, fractal sets, implicitly defined functions, scalar fields. A NVIDIA CUDA-based cross-platform version of the system has been developed, which has high performance in building accelerating structures, visualization of heterogeneous scenes and the best hardware support on the lastgeneration NVIDIA Fermi and Kepler processors.

Keywords: interactive visualization, 3D scene, global illumination, path tracing, ray tracing, GPU, GPGPU, CUDA.

i Надоели баннеры? Вы всегда можете отключить рекламу.