Physically Based Rendering
Physically Based Rendering (PBR, физически корректный рендеринг) — это подход в компьютерной графике, направленный на моделирование взаимодействия света с поверхностями объектов на основе законов физики. В отличие от более ранних эмпирических методов, PBR использует математические модели, описывающие реальные оптические свойства материалов (отражение, преломление, поглощение, рассеивание), что позволяет добиться высокой степени фотореалистичности изображений. Основными принципами PBR являются сохранение энергии (энергия падающего света не может превышать сумму отражённой и преломлённой), использование микрогеометрии (шероховатость поверхности) и применение физически обоснованных функций распределения двунаправленного отражения (BRDF).
История
Предпосылки возникновения
До появления PBR в компьютерной графике доминировали эмпирические модели освещения, такие как модель Фонга (1975) и модель Блинна-Фонга (1977). Они были просты в расчётах, но не учитывали физические законы сохранения энергии и не давали реалистичного отражения для сложных материалов. С развитием игровой индустрии и кино возникла потребность в более точных и предсказуемых методах рендеринга.
Развитие в академической среде
В 1990-х годах в научных работах начали активно исследоваться физически корректные модели. Ключевой вклад внесли работы:
- Роберта Кука и Кеннета Торранса (1981) — модель BRDF, учитывающая микрогеометрию и эффект Френеля.
- Грега Уорда (1992) — анизотропная модель BRDF.
- Эрика Лаффорта (1994) — модель BRDF на основе шероховатости.
Индустриальное внедрение
В 2000-х годах PBR начал активно применяться в киноиндустрии (например, в фильмах студии Pixar). В 2010-х годах технология стала стандартом в игровой индустрии благодаря появлению мощных графических процессоров (GPU) и поддержке в игровых движках (Unreal Engine, Unity, Frostbite). В 2014 году компания Disney опубликовала свою модель BRDF (Disney Principled BRDF), которая стала основой для многих современных реализаций PBR.
Основные принципы
Сохранение энергии
Один из фундаментальных законов физики, применяемый в PBR: сумма отражённого и преломлённого света не может превышать количество падающего света. Это означает, что яркий блик на шероховатой поверхности не может быть ярче, чем на идеально гладкой, а тёмный материал не может отражать больше света, чем светлый. Математически это выражается в том, что интеграл BRDF по всем направлениям отражения не превышает единицы.
Микрогеометрия
Все реальные поверхности имеют микроскопические неровности (шероховатость). PBR моделирует эти неровности с помощью статистических распределений (например, распределение Бекмана или GGX). Чем выше шероховатость, тем более размытым становится отражение. Для металлов шероховатость влияет на распределение отражённого света, для диэлектриков — на рассеивание.
Эффект Френеля
Эффект Френеля описывает зависимость отражательной способности материала от угла падения света. При скользящих углах (когда свет падает почти параллельно поверхности) отражение становится сильнее, даже у непроводящих материалов (например, стекло или вода). В PBR этот эффект рассчитывается по формулам Френеля (например, приближение Шлика).
Металлы и диэлектрики
PBR чётко разделяет материалы на две категории:
- Металлы — имеют высокую отражательную способность (альбедо), цвет отражения определяется цветом металла (например, золото — жёлтое, медь — красноватое). Металлы не имеют подповерхностного рассеивания.
- Диэлектрики (непроводники) — имеют низкую отражательную способность (обычно 2–5%), цвет отражения белый (не зависит от цвета материала). Диэлектрики могут иметь подповерхностное рассеивание (например, кожа, воск, молоко).
Параметры PBR
Основные текстурные карты
Для реализации PBR в реальном времени (например, в играх) используются следующие карты текстур:
- Albedo (диффузная карта) — определяет базовый цвет материала. Для металлов альбедо заменяется на цвет отражения (F0).
- Roughness (шероховатость) — управляет размытостью отражений. Значение 0 — идеально гладкая поверхность (зеркало), 1 — максимально шероховатая (матовая).
- Metallic (металличность) — бинарная или градационная карта, указывающая, является ли участок поверхности металлом (1) или диэлектриком (0).
- Normal map (карта нормалей) — имитирует мелкие детали рельефа, изменяя направление нормалей поверхности.
- Ambient Occlusion (окклюзия) — моделирует затенение в углублениях, повышая реалистичность.
Дополнительные параметры
- Clearcoat (прозрачное покрытие) — моделирует тонкий прозрачный слой (например, лак на автомобиле).
- Subsurface Scattering (подповерхностное рассеивание) — имитирует проникновение света внутрь материала (кожа, воск, мрамор).
- Anisotropy (анизотропия) — моделирует направленную шероховатость (например, металл с царапинами, волосы).
Реализации и алгоритмы
PBR в реальном времени
В игровых движках PBR реализуется с помощью шейдеров (вершинных и пиксельных). Основные алгоритмы:
- BRDF (Bidirectional Reflectance Distribution Function) — функция, описывающая, как свет отражается от поверхности. Наиболее популярные модели: Cook-Torrance, GGX (Trowbridge-Reitz), Disney Principled.
- IBL (Image-Based Lighting) — метод освещения с использованием карт окружения (HDRI), позволяющий создавать реалистичное отражение окружающей среды.
- PBR для металлов — используется модель с отражением Френеля, где цвет отражения берётся из альбедо, а диффузная составляющая отсутствует.
PBR в офлайн-рендеринге
В кино и архитектурной визуализации применяются более сложные методы:
- Path Tracing (трассировка путей) — симуляция распространения света методом Монте-Карло.
- Bidirectional Path Tracing — комбинирует трассировку от источника света и от камеры.
- Photon Mapping — двухпроходный метод, сначала симулирующий фотоны, затем собирающий их.
Применение
Игровая индустрия
PBR стал стандартом для современных игр (AAA-проекты), начиная с середины 2010-х годов. Примеры игр: The Witcher 3, Battlefield 1, Doom (2016), Cyberpunk 2077. Технология позволяет создавать реалистичные материалы (металл, кожа, дерево, ткань) с минимальными затратами производительности.
Кино и анимация
В кино PBR используется для создания фотореалистичных спецэффектов и анимации. Студии Pixar, Disney, DreamWorks применяют собственные реализации PBR (например, Disney Principled BRDF). Примеры фильмов: Холодное сердце, Гравитация, Аватар.
Архитектурная визуализация
PBR позволяет архитекторам и дизайнерам создавать реалистичные изображения зданий и интерьеров, учитывая реальные свойства материалов (бетон, стекло, металл, дерево).
Виртуальная и дополненная реальность
В VR/AR PBR обеспечивает правдоподобное освещение и отражения, что критически важно для погружения пользователя.
Критика и ограничения
Производительность
PBR требует значительных вычислительных ресурсов, особенно при использовании сложных BRDF и трассировки лучей. В мобильных устройствах и старых GPU могут возникать проблемы с производительностью.
Сложность настройки
Для получения качественного результата требуется точная настройка параметров (шероховатость, металличность, карты нормалей). Неправильная настройка может привести к артефактам (например, «пластиковый» вид металлов).
Ограничения моделей
Стандартные модели PBR (Cook-Torrance, GGX) не учитывают некоторые физические эффекты, такие как дифракция, интерференция, анизотропное рассеивание в сложных материалах (например, в перламутре или опале).
Интересные факты
- Термин «Physically Based Rendering» популяризировала книга Мэтта Фарра и Грега Хамфриса «Physically Based Rendering: From Theory to Implementation» (2004), которая стала стандартным учебником по этой теме.
- В 2015 году компания NVIDIA выпустила библиотеку RTXGI (Real-Time Graphics Interface), которая включает реализацию PBR с поддержкой трассировки лучей.
- В России PBR активно используется в разработке игр (например, студия 4A Games в серии Metro Exodus), а также в архитектурной визуализации (компания «Архитектурная визуализация»).
Источники
- Pharr, M., Humphreys, G. (2004). Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann.
- Burley, B. (2012). Physically Based Shading at Disney. SIGGRAPH 2012 Course Notes.
- Cook, R. L., Torrance, K. E. (1981). A Reflectance Model for Computer Graphics. ACM Transactions on Graphics.
- Karis, B. (2013). Real Shading in Unreal Engine 4. SIGGRAPH 2013 Course Notes.
- Лаффорт, Э. (1994). A Simple, Robust, and Efficient BRDF Model. Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →