О методах фотореалистичной визуализации в системах реального времени | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 23 ноября, печатный экземпляр отправим 27 ноября.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Технические науки

Опубликовано в Молодой учёный №8 (67) июнь-1 2014 г.

Дата публикации: 24.05.2014

Статья просмотрена: 206 раз

Библиографическое описание:

Таха, Асраа Тарик. О методах фотореалистичной визуализации в системах реального времени / Асраа Тарик Таха, Хотайфа Рабеа Агха. — Текст : непосредственный // Молодой ученый. — 2014. — № 8 (67). — С. 282-284. — URL: https://moluch.ru/archive/67/11232/ (дата обращения: 15.11.2024).

Я хотел бы выразить искреннюю признательность Министерству высшего образования и научных исследований Ирака, предоставившему мне стипендию в дополнение к финансовой и моральной поддержке и позволившему мне провести свои научные исследования. В современных условиях, с ростом производительности вычислительной техники предъявляются повышенные требования к качеству визуализации. Требуется моделирование дополнительных эффектов освещения, использование более точных физических моделей, позволяющих реалистичнее отображать свойства материалов реального мира, делая изображения фотореалистичными. Классические и хорошо известные методы локального затенения, такие как алгоритмы Фонга, Гуро, Кука-Торренса, не могут позволить достигнуть подобных результатов.

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

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

Одной из базовых техник создания фотореалистичных изображении является IBL (Image-based lighting), которая основана на анализе изображений окружения, сохраняющих в себе информацию об освещении. Эти изображения затем проецируются на сферу аналогично методу отображения карт окружения и используются для имитации освещения объектов сцены. Это позволяет весьма реалистично имитировать отражения, блики и непрямое освещение в не сильно динамичных сценах, как это было использовано в работе [1].

При использовании IBL часто используются HDR-изображения для большей точности и реалистичности результата. Метод IBL экономичен, не требует использования высокопроизводительных систем и поэтому повсеместно может быть использован.

Для более точной и реалистичной имитации непрямого освещения, особенно в динамичных сценах, необходимо использовать методы глобального затенения (GI — Global Illumination), которые могут работать с ДФОС моделями для создания изображений кинематографического качества [2,3].

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

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

Рис. 1. Процесс трассировки лучей

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

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

Классический алгоритм трассировки лучей не применим в реальном времени, но существует множество упрощений и оптимизаций данного алгоритма. Одним из самых известных является метод Voxel Cone Tracing. Вместо отдельных лучей, испускаемых из каждого пикселя, он использует конусы, а пространство сцены разбивается на вокселы. При разрешении буфера кадра в 1920х1080 пикселей, алгоритм позволяет использовать 9–12 конусов на одну строчку вместо тысяч лучей. Это делает такой подход применимым на практике с использованием мощности современных GPU-устройств. Но метод всё ещё ресурсоёмок, поэтому не может применяться для визуализации открытых пространств.

В связи с этим, для разработок своих проектов, считаю необходимым использовать метод LPV (Объемы распространения света). Это метод, который позволяет приближённо имитировать глобальное освещение, без необходимости в использовании любой предварительной обработки в режиме реального времени. Методика основана на хранении информации об освещённости для каждой части сцены в равномерной сетке, которая затем итеративно распространяется по сцене.

В большинстве статей, описывающих методы для расчёта глобального освещения (ГО, англ. Global Illumination, GI), утверждается, что это сложная задача для интерактивных приложений — это безусловно так ввиду естественной сложности процесса распространения света. Несмотря на значительный прогресс в последние годы, рендеринг ГО в режиме реального времени без дополнительных предрасчётов или ограничений является по-прежнему труднодостижимой целью. Поскольку непрямое освещение является важной частью изображения, существует множество методов аппроксимации с достаточно высокой производительностью. Также физически точный расчёт ГО часто является необязательным [Yu et al. 2009]. Недавние исследования широко используют это наблюдение, применяя, к примеру, интерполяцию для функции видимости [Krivanek and Colbert 2008], неполную видимость [Ritschel et al. 2008], или аппроксимации в пространстве изображения [Ritschel et al. 2009b].

В этой статье мы представляем новый метод рендеринга непрямого освещения для полностью динамических сцен без каких-либо предрасчётов. Метод разрабатывался с учётом строгих требований приложений реального времени и рассчитан на временной бюджет в несколько миллисекунд на кадр с использованием современных графических процессоров (ГП, англ. Graphics Processing Unit, GPU) как персональных компьютеров так и игровых консолей.

Если настроить параметры существующих методов под временной бюджет приложений реального времени, качество ухудшается до возникновения явных дефектов изображения, таких как появление ярких пятен при использовании метода быстрой излучательности [Keller 1997], или возникновение дефектов пространственной дискретизации в методах излучательности, например [Dachsbacher et al. 2007]. Также при использовании методов, работающих в пространстве изображения, таких как [Dachsbacher and Stamminger 2005], [Ritschel et al. 2009b], с частичным расчётом освещения, наблюдается шум или полосатость изображения при ограничении времени расчёта. Помимо этого, такие методы влекут дополнительные ограничения, такие как непрямое освещение только на ограниченных расстояниях и только от объектов в прямой видимости.

Предлагаемый метод не подвержен перечисленным недостаткам и предоставляет устойчивые к ошибкам результаты с обеспечением временно́й стабильности даже при очень маленьком времени расчёта. Это достигается благодаря использованию сеток для аппроксимации распределения света и геометрии в сцене. Угловое распределение света аппроксимируется сферическими функциями низших порядков. Поверхности сцены, являющиеся источниками непрямого освещения, растеризируются каждый кадр с помощью отражательных теневых карт (ОТК, англ. Reflective Shadow Maps, RSM). Эта информация используется для задания начального распределения света в объемах распространения света (ОРС, англ. Light Propagation Volumes, LPV). Используя такое представление, мы предлагаем параллельную схему распространения света, которая позволяет быстро и корректно приблизить процесс распространения низкочастотного прямого и непрямого освещения, с учётом преграждения геометрией сцены. Предлагаемая схема распространения основана на методе дискретных ординат. Также анализ предложенной схемы показывает, что для приемлемого непрямого освещения достаточно использовать упрощённую, локальную схему распространения. Предлагаемый метод является частью игрового движка CryENGINE 3 и использовался в выпущенной игре Crysis 2. Также метод поддерживает полностью динамические сцены и большие открытые пространства при помощи иерархии вложенных сеток. Метод ОРС более сконцентрирован на приближении непрямого освещения для приложений реального времени, нежели на физически точном его расчёте. Таким образом, метод наиболее подходит для низкочастотного непрямого освещения от рассеивающих поверхностей. Обсуждение ограничений, вызванных пространственной дискретизацией, использованием низкочастотных сферических функций и предложенной схемой распространения, предоставлено в конце статьи.

Литература:

1.        Белан В. И., Белоус Л. Ф., Поляков В. М., Торгонин Е. Ю., Хотайфа А. Применение гетерогенных вычислительных систем для описания процессов в системах виртуальной реальности / International Conference «Parallel and Distributed Computing Systems» (PDCS-2014). Харьков, 2014, с.41–44.

2.        Dachsbacher, C., Stamminger, M., Drettakis, G., and Durand, F. Implicit visibility and antiradiance for interactive global illumination. ACM Transactions on Graphics (Proc. of SIGGRAPH 2007) 26, 3.

3.        Dong, Z., Kautz, J., Theobalt, C., and Seidel, H.-P. Interactive Global Illumination Using Implicit Visibility. In Pacic Graphics, 77–86. 2007.

Основные термины (генерируются автоматически): непрямое освещение, реальное время, IBL, LPV, GPU, HDRI, глобальное затенение, глобальное освещение, локальное затенение, пространственная дискретизация.


Задать вопрос