Чим відрізняється PBR від SSR?


11

Я дуже новачок у розробці ігор, і я намагаюся зрозуміти різницю між відображенням екрана в просторі та рендерінгом на фізичному рівні

Я читав про PBR, і з того, що я розумію, він намагається імітувати те, як світло відображається в реальному житті, яке воно, як правило, розпадається на два компоненти, дзеркальне та дифузне, залежно від типу матеріалу.

Що стосується SSR, pls виправте мене, якщо я помиляюся, це те, як відображення виглядають на поверхні.

Якщо моє розуміння ССР є правильним, то чи не вони певним чином? Я маю на увазі, не так, як відбиття виглядають на поверхні, залежно від шорсткості поверхні і т. Д. Це потім вплине на те, скільки світла відбивається по-блискучому і скільки дифузно відбивається. Знову, будь ласка, виправте мене де завгодно, я помиляюся.

Відповіді:


17

Фізично-заснована візуалізація

Ти на правильному шляху, коли ти кажеш, що "воно намагається імітувати, як світло відображається в реальному житті. Це, як правило, воно розбивається на два компоненти, блискучі та дифузні, залежно від типу матеріалу".

Але ми вже давно моделюємо матеріали зі світлими та розсіяними в іграх та комп’ютерній графіці. Хитрість полягає в тому, що ми використовували ці речі як абсолютно незалежні - зміна зеркальності не змінило дифузного:

Приклад затінення Phong, що зазвичай використовується в іграх

Це приклад затінення Phong з вікі Blender . Ви можете бачити, що він пропонує два параметри окулярної інтенсивності та напруженості, а ці параметри лише змінюють білясту частину відбиття. Синє розсіяне відображення зовсім не змінюється.

Те, як ігри будуть використовувати це, виконавцеві було б доручено налаштувати ці значення для кожного матеріалу, поки "це не виглядало правильно". Оскільки "очна твердість" не є реальною фізичною властивістю матеріалів, які ми можемо точно виміряти, це потрібно було робити очей.

Цей метод трохи крихкий. Під час зміни освітленості (скажімо, динамічного об’єкта, що рухається по різних областях, або в оточенні з часом доби та погодою), він може виглядати настільки неправильно - занадто яскравим або занадто темним - оскільки умови перегляду не такі, як ті, на які були налаштовані його окулярні параметри.

Введіть фізико-орієнтовану візуалізацію, яка є спробою ґрунтувати наші описи матеріалів на об'єктивніших, вимірюваних властивостях реальних поверхонь. Однією з найбільш очевидних властивостей є збереження енергії - більш жорстка поверхня буде розсіяно світло дифузно, а більш гладка / більш металева поверхня буде відображати світло безпосередньо, але це той самий пул світла, з якого вони обидва черпають. Отже, при рівності, коли ми робимо матеріал блискучим, дифузна складова повинна темніти:

Приклад підвищення відбивної здатності при постійному альбедо

Цей приклад зі статті Marmoset, що пояснює PBR, який спільно використовувався Syntac_

Існує більше для фізичного базування, ніж для енергозбереження, але це, мабуть, найголовніший знак того, що ви працюєте з фізично заснованою системою.

Зберігаючи моделі відображення, подібні до того, як матеріали працюють у реальному житті, ми зменшуємо потребу у факторах витіснення та суб’єктивності художника, щоб отримати матеріал у реальному світі, як дерево, бетон чи шкіру, щоб виглядати реальним у різних умовах освітлення.

Зауважте, що інша відповідь описала це в умовах непрямого освітлення від світла, що відскакує від інших предметів на сцені. Хоча багато систем освітлення, які використовують моделі, засновані на фізичній основі, також включатимуть інструменти для моделювання цього, зазвичай це відомо під окремою назвою Global Illumination . Це ефект, завдяки якому одна сторона розсіяної головки на цьому зображенні виглядає зеленою, освітленою світлом, що відскакує від зеленої стіни:

Приклад типової сцени тесту на глобальне освітлення

Зображення з цієї статті про глобальне освітлення

Відображення екрана

У той час як PBR намагається моделювати, як матеріал відбиває світло, відбиток екрану просто намагається зафіксувати те, що відбивається - конкретно, для блискучої дзеркальної поверхні, що я повинен бачити у відображенні?

Знову ж таки, це порівняно недавня техніка візуалізації, яку, мабуть, найясніше зрозуміти на відміну від того, як це робили ігри раніше:

Перевернута візуалізація - звичайна для водних літаків або плоских дзеркал, ми буквально відображаємо всю відображену геометрію вдруге дзеркально по площині відбивної поверхні. Це дає якісні відображення (повна деталізація, об’єкти, що контактують з поверхневою лінією, та їх відображення), але правильно працює лише на плоских поверхнях. Чим хвилястіша або курганиста поверхня, тим менше вона поводиться як реальні відбиття, які повинні спотворювати або розмивати складні способи.

Карти кубів - збережемо колір, який бачив би будь-який промінь огляду, що випромінюється від їх центральної точки. Динамічно візуалізуючи карти куба з вибраних точок сцени, ми можемо оцінити, який колір повинен відображатися від будь-якої довільно вигнутої поверхні. Проблема тут полягає в тому, що карта куба є абсолютно коректною лише в її центральній точці - оскільки точка, де ми імітуємо віддзеркалення, рухається по сцені, вона повинна бачити деякий паралакс, якого немає на карті куба. Це означає, що об’єкти не мають тенденції вирівнюватися зі своїми відображеннями.

Відображення простору екрану намагається вирішити ці обмеження, використовуючи саму відображену сцену як джерело інформації для відображення. Він промальовує відбитий промінь виду, використовуючи глибину сцени, поки не перетне щось у відтвореній сцені.

Слайд, що описує відображення екранного простору, діаграмою збоку

Ось слайд з презентації EA DICE про їх підхід до роздумів у двигуні Frostbite .

Це означає (за допомогою розумної алгоритмічної роботи) ми можемо отримувати відбиття з досить випромінювальною точністю відключення довільних поверхонь в іграх, маючи правильне вирівнювання поверхонь у контакті, спотвореннях та розмиванні, до тих пір, поки відбита частина поверхні видно на -екранний (тобто не за межами екрана чи закритий чимось іншим). Там, де відображення не може бути точно визначене ремаршируванням, зазвичай воно наближається за допомогою зразків поблизу або резервної кубічної карти, що представляє сцену біля / позаду камери.

Приклад проекту з відображенням екранного простору

Ви можете бачити на цьому прикладі відображення екранного простору , враження може бути дуже переконливим, хоча помітні невеликі помилки (див. Відображення нижньої сторони кубів, які не видно у візуалізованому кадрі, і так просто мазати та повторювати сусідні пікселі, або отвори у відбитті правої зеленої завіси поруч з квітковим горщиком та внизу екрана, де реймаршинг не зміг знайти правильні відбиті пікселі). Зазвичай використовується ця техніка для помірно блискучих / злегка шорстких поверхонь, щоб зробити випадкові помилки менш помітними.


Дуже дякую за відповідь. Це саме те, що я хотів знати.
Кумаресан Сандран

Для тих, хто цікавиться, є документ у 2015 році про напівдосконалий, але інтуїтивний метод вирішення проблеми "побачити відображення нижньої сторони кубів": Знайдіть папір: "Багатомасштабне глобальне освітлення в квантовому
розриві

1

Вони насправді не пов’язані між собою.

Цей документ від Marmoset добре пояснює PBR, не вимагаючи багато математики.

З іншого боку, відображення простору екрану - це техніка простору екрану після обробки, яка використовується для відображення відображень у реальному часі. Це, як правило, набагато дешевше, ніж візуалізація куба відображає кожен кадр, але може виглядати менш точно і не дозволяє відображати екранні об'єкти.


1
Щойно прийшов сюди, щоб оновити посилання, для всіх, хто відвідує 2018 рік ... marmoset.co/posts/basic-theory-of-physically-based-rendering
sws

@sws оновив ура.
Syntac_
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.