Як обробляються об'ємні ефекти при проведенні променів?


10

Яким чином об'ємні ефекти, такі як дим, туман або хмари, надаються променевим слідом? На відміну від твердих об'єктів, у них немає чітко визначеної поверхні для обчислення перетину.

Відповіді:


11

Огляд

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

Статистична модель

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

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

Позначається коефіцієнт поглинання σа. Скажіть, промінь світла хоче подорожуватитметри всередині середовища, що бере участь; ймовірність потрапляння в нього через несприйняття, тобто не потрапляння однієї з частинок і поглинання нею - єе-тσа`. Зі збільшенням t ми можемо побачити, що ця ймовірність йде до нуля, тобто чим довше ми подорожуємо через середовище, тим більше шансів на те, що щось вдарить і поглинеться. Дуже схожі речі стосуються коефіцієнта розсіюванняσс: Ймовірність того, що промінь не потрапив на частинку і розсіявся, є е-тσс; тобто чим довше ми подорожуємо через носій, тим більше ймовірність, що ми потрапимо в частинку і розкинемося в інший бік.

Зазвичай ці дві величини складаються в один коефіцієнт вимирання, σт=σа+σс. Ймовірність подорожіт метрів через середовище, не взаємодіючи з ним (ні поглинаючись, ні розсіявшись) е-тσт. З іншого боку, ймовірність взаємодії із середовищем післят метрів є 1-е-тσт.

Візуалізація за участю засобів масової інформації

Спосіб, яким це використовується у фізично обгрунтованих рендерінгах, полягає в наступному: Коли промінь потрапляє в середовище, ми ймовірно зупиняємо його всередині середовища і надаємо йому взаємодію з частинкою. Важливість вибірки ймовірності взаємодії1-е-тσт дає відстань т; це говорить нам, що промінь мандрувавт метрів в середовищі, перш ніж вдарити по частинці, і тепер відбувається одне з двох речей: або промінь поглине частинку (з вірогідністю σаσт), або він розсипається (з вірогідністю σсσт).

Як розсіюється промінь, описується фазова функція і залежить від природи частинок; фазова функція Релея описує розсіювання від сферичних частинок, менших за довжину хвилі світла (наприклад, наша атмосфера); фазова функція Мі описує розсіювання сферичних частинок аналогічних розмірів, ніж довжина хвилі (наприклад, краплі води); у графіці зазвичай використовується фазова функція Генєя-Грінштейна , спочатку застосовувана для розсіювання міжзоряного пилу.

Зараз у графіці ми зазвичай не рендеруємо зображення нескінченного середовища, але візуалізуємо медіа всередині сцени, що складається з твердих поверхонь. У цьому випадку ми спочатку повністю простежуємо промінь до тих пір, поки він не потрапить на наступну поверхню, повністю ігноруючи присутність середовища; це дає нам відстань до наступної поверхні,тМах. Потім відбираємо відстань взаємодіїтв середовищі, як описано раніше. Якщот<тМах, промінь потрапив на частинку на шляху до наступної поверхні, і ми або поглинаємо її, або розсипаємо. ЯкщоттМах, промінь пробився непошкодженим і взаємодіє з поверхнею як завжди.

Прогноз

Ця публікація була лише невеликим вступом до візуалізації за участю ЗМІ; крім усього іншого, я повністю ігнорував просторово різні коефіцієнти (які вам потрібні для хмар, диму тощо). Примітки Стіва Маршнера є хорошим ресурсом, якщо вам цікаво. Взагалі, ЗМІ, які беруть участь у роботі, дуже важко відтворити, і ви можете бути набагато складнішими, ніж те, що я описав тут; є об'ємне фотонне картографування , фотонні промені , дифузійні наближення , вибіркове значення спільної важливості та багато іншого. Також є цікава робота над зернистими носіями що описує, що робити, коли статистична модель розпадається, тобто взаємодії частинок вже не є статистично незалежними.


4

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

Ось посилання з прикладом реалізації: http://blog.demofox.org/2014/06/22/analytic-fog-density/


3

Залежить від ефективного обсягу.

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

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

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


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

@AlanWolfe - це те, що ти робиш у єдиному випадку, проте якщо середовище бере участь у геометрії, то потрібно зробити щось більш витончене. У всякому разі, я не стверджував, що це всі методи.
joojaa

Напевно, просто додавши до своєї відповіді. Коли ви говорите про рівномірний випадок, не впевнені, що саме ви маєте на увазі, але для туману це не має бути однакової щільності, а лише якась функція щільності, яку ви можете інтегрувати. Це ви мали на увазі під єдиним випадком?
Алан Вулф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.