Трасування шляху — це метод Монте-Карло для рендеринга зображень тривимірних сцен у комп'ютерній графіці, глобальне освітлення котрих точно відповідає дійсності. По суті, алгоритм інтегрується по всій освітленості, що надходить в одну точку на поверхні об'єкту. Потім цю освітленість зменшують за допомогою функції відображення поверхні (двопроменева функція відбивної здатності), щоб визначити, яка частина буде передана до точки огляду камери. Ця процедура інтеграції повторюється для кожного пікселя в вихідному зображенні. У поєднанні з фізично точними моделями поверхонь, точними моделями реальних джерел світла (лампочками) і оптично-правильними камерами, трасування шляху може створювати нерухомі зображення, які не відрізняються від фотографій.
Трасування шляху природним чином імітує багато ефектів, які повинні бути спеціально додані до інших методів (звичайне трасування променів або алгоритм «Scanline»), такі як м'які тіні, глибина різко зображуваного простору, розмитість зображення, каустика, ambient occlusion і непряме освітлення. Відповідно простіше реалізувати рендеринг, що включає ці ефекти. Розширений варіант алгоритму реалізується шляхом об'ємного трасування шляху, який враховує розсіювання світла сцени.
Завдяки своїй точності і об'єктивності, трасування шляху використовується для створення еталонних зображень при тестуванні якості інших алгоритмів рендерингу. Щоб отримувати високоякісні зображення, використовуючи трасування шляху, необхідно протрасувати велику кількість променів, для уникнення видимих артефактів з шумом.
Історія
Рівняння рендерингу і його використання в комп'ютерній графіці було представлене [en] в 1986[1]. Трасування шляху був введений тоді як алгоритм для знаходження чисельного рішення інтеграла рівняння рендерингу. Десять років по тому, Lafortune запропонували багато уточнень, в тому числі алгоритм двобічного трасування шляху.[2]
Metropolis light transport, метод збурень раніше знайдених шляхів для збільшення продуктивності в складних сценах, був представлений в 1997 році Еріком Вічем (англ. Eric Veach) і Леонідасом Гуібасом (англ. Leonidas J. Guibas)
Зовсім нещодавно процесори і графічні процесори стали досить потужними, щоб рендерити зображення швидше, що викликало більш широкий інтерес до алгоритмів трасування шляху. Тім Перселл вперше представив глобальний алгоритм освітлення, що працює на графічному процесорі в 2002 році.[3] У лютому 2009 року Остін Робінсон з Nvidia продемонстрував першу комерційну реалізацію трасування шляху, яка працює на GPU.[4] Цьому сприяло дозрівання GPGPU-орієнтованих інструментів програмування, таких як CUDA і OpenCL, а також SDK GPU для трасування променів, таких як [en].
У 2015 році планується перенесення трасування шляху на DirectX 12 і Vulkan (API). Роботи над першим вже ведуться.
Трасування шляху зіграла важливу роль в кіноіндустрії. Раніше фільми використовували засоби алгоритму «Scanline» для створення CG-візуальних ефектів і анімації. У 1998 році Blue Sky Studios представили короткометражний фільм Банні, який отримав премію Оскар, з їх власними засобами рендеринга трасування шляхів CGI Studio, з м'якими тінями і ефектами непрямого освітлення. У 2006 році в [en] був зроблений перший анімаційний повнометражний художній фільм Будинок-монстр, який був повністю створений на трасувальникові шляхів, використовуючи комерційний рендер [en]. До 2014 року практично всі візуальні ефекти і анімаційні фільми почали використовувати трасування шляху.
Опис
Рівняння рендерингу Каджая дотримується трьох особливих принципів оптики: принцип глобального освітлення, принцип еквівалентності і принцип напрямку.
У реальному світі об'єкти і поверхні видно через те, що вони відбивають світло. Це відбите світло потім висвітлює інші об'єкти по черзі. З цього простого спостереження випливають два принципи.
I. Для даної внутрішньої сцени кожен об'єкт в кімнаті повинен сприяти висвітленню кожного іншого об'єкта.
II. По-друге, не існує відмінності між освітленням, випромінюваних джерелом світла, і освітленням, відбитим від поверхні.
Придуманий в 1984 році, зовсім інший метод, званий radiosity, був вірний обом принципам. Однак radiosity пов'язує загальну освітленість, що потрапляє на поверхню, з рівномірною яскравістю, яка залишає поверхню. Це змусило всі поверхні бути Ламбертіанськими, або «абсолютно розмитими». Усвідомлення того, що розсіювання від поверхні залежить як від вхідних, так і від вихідних напрямів, є ключовим принципом функції розподілу двонаправленого відображення. Ця залежність напрямку була центром дослідження, результатом якого стали публікації важливих ідей протягом 1990-х років.
III. Освітлення, що приходить з поверхонь, має розсіюватися в певному напрямку, яке є деякою функцією вхідного напрямку освітленості, що надходить, де відбирається вихідний напрямок.
Рівняння Каджая являє собою повний виклад цих трьох принципів, і трасування шляху, яке наближається до вирішення рівняння, залишається вірною їм в реалізації. Існують і інші принципи оптики, які не є фокусом рівняння Каджая, і тому часто складно або неправильно імітуються алгоритмом. Трасування шляху плутається з оптичними явищами, що не міститься в цих трьох принципах. Наприклад,
- Яскраві, різкі каустики; шкали яскравості по щільності освітленості в просторі.
- Розсіювання світла під поверхнею; порушення принципу III вище.
- Хроматичної аберації, флуоресценція, іризація; світло являє собою спектр частот.
Алгоритм
Наступний псевдокод — це процедура виконання наївного трасування шляху. Ця функція обчислює один зразок пікселя, в якому враховується тільки траєкторія виведення.
Color TracePath(Ray r, depth) { if (depth == MaxDepth) { return Black; // Bounced enough times. } r.FindNearestObject(); if (r.hitSomething == false) { return Black; // Nothing was hit. } Material m = r.thingHit->material; Color emittance = m.emittance; // Pick a random direction from here and keep going. Ray newRay; newRay.origin = r.pointWhereObjWasHit; newRay.direction = RandomUnitVectorInHemisphereOf(r.normalWhereObjWasHit); // This is NOT a cosine-weighted distribution! // Compute the BRDF for this ray (assuming Lambertian reflection) float cos_theta = DotProduct(newRay.direction, r.normalWhereObjWasHit); Color BRDF = 2 * m.reflectance * cos_theta; Color reflected = TracePath(newRay, depth + 1); // Apply the Rendering Equation here. return emittance + (BRDF * reflected); }
Примітка: BRDF — Bidirectional reflectance distribution function — Двопроменева функція відбивної здатності
Двонаправлене трасування шляху
Вибірка інтеграла для точки може бути виконана за допомогою будь-якого з наступних двох різних підходів:
- Стріляти променями (Shooting rays) з джерел світла і створювати шляхи в сцені. Шлях переривається випадковим числом кроків-відскоків променя. Потім світло прямує на проектований піксель результуючого зображення. Під час цього методу рендерингу мільйони шляхів створюються і на зображенні запам'ятовуються результати прорахунку шляхів, що вносять вклад.
- Збирати промені (Gathering rays) з точки на поверхні. Промінь вистрілюється крізь пікселі зображення і скаче по сцені, поки не зустріне на своєму шляху джерело світла. Світло з джерела світла тоді надсилається у напрямку пікселів зображення. Процес створення шляху називається «семплінгом». Одна точка поверхні зазвичай отримує від 800 семплів (до 3 тисяч). Фінальна картинка переводиться за допомогою арифметичних дій, не простим підсумовуванням семплів.
Двонаправлене трасування променів комбінує Shooting та Gathering в одному алгоритмі і це дає більш швидку збіжність зображенню (швидше і менше шуму). Ці 2 методи генерації шляхів трасуються незалежно і потім початок вистріленого шляху (shooting path) з'єднується з хвостом шляху збору променів (gathering path). Враховується загасання світла при кожному відскоку променя і запам'ятовується в пікселях зображення. Ця техніка здається на перший погляд парадоксально повільною, але це через те, що рахуються відразу 2 шляхи. На практиці ж — навпаки, додаткова швидкість збіжності зображення компенсує уповільнення, що виникають через необхідність випускати нові і нові промені. Для прискорення конвергенції (збіжність, зближення) зображень, двонаправлені алгоритми трасують шляхи в обох напрямках. У прямому напрямку промені трасуються від джерела світла до тих пір, поки вони не стануть настільки слабкими, що їх не можна буде побачити, чи поки не потраплять на об'єктив віртуальної камери. У зворотному, тобто стандартному загальноприйнятому напрямку, промені трасуються від віртуальної камери до тих пір, поки вони не зіткнуться з джерелом світла, або поки кількість їх відображень не перевищить певну межу. Такий підхід зазвичай приводить до такого зображення, яке сходиться набагато швидше, ніж при використанні лише одного напрямку.
Продуктивність
Трасувальник шляху постійно проводить вибірку пікселів зображення. Зображення стає впізнаванним тільки тоді, коли проведено кілька вибірок на один піксель, аж до 100 вибірок на піксель. Як правило, для звичайних зображень і для зменшення цифрового шуму до прийнятного рівня роблять близько 5000 вибірок. Однак для патологічних випадків кількість вибірок стає набагато більше.
Процес рендеринга може зайняти години і дні в залежності від складності сцени і продуктивності апаратного і програмного забезпечення. Сучасні реалізації графічних процесорів обіцяють від 1 до 10 мільйонів вибірок в секунду, що робить можливим згенерувати відносно безшумне зображення прийнятної якості протягом декількох секунд або хвилин. Цифровий шум створює особливу проблему для анімації, створюючи, як правило, небажаний ефект «зернистості» зображення.
Група методів [en] злегка змінюють раніше відтрасовані успішні шляхи і робить більш важливі для зображення вибірки першими. Це може привести до зниження шумності зображення і зниження кількості вибірок.
Функції розподілу розсіювання
Відображаючі здатності поверхонь — кількість відбитого світла, його напрямок і колір, — моделюються з використанням двопроменевої функції відбивної здатності. Еквівалентом перенесеного світла (світла, що пройшло через об'єкт) є функція двонаправленого поверхневого розсіювання відображення. Трасувальник шляху може скористатися всіма перевагами складних, ретельно змодельованих або обчислених функцій розподілу, які визначають зовнішній вигляд («матеріал», «текстура» і «затінення» в термінах комп'ютерної графіки) об'єкта.
Див. також
- [en]
- Blender (програмне забезпечення)
- [en]
Примітки
- ↑ Kajiya, J. T. (1986). The rendering equation. Proceedings of the 13th annual conference on Computer graphics and interactive techniques. ACM.
- ↑ Lafortune, E, Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering [ 24 квітня 2010 у Wayback Machine.], (PhD thesis), 1996.
- ↑ Purcell, T J; Buck, I; Mark, W; and Hanrahan, P, «Ray Tracing on Programmable Graphics Hardware», Proc. SIGGRAPH 2002, 703—712. See also Purcell, T, Ray tracing on a stream processor [ 10 жовтня 2017 у Wayback Machine.] (PhD thesis), 2004.
- ↑ Robison, Austin, «Interactive Ray Tracing on the GPU and NVIRT Overview» [ 30 серпня 2017 у Wayback Machine.], slide 37, I3D 2009.
- ↑ Veach, E., and Guibas, L. J. Metropolis light transport [ 16 травня 2017 у Wayback Machine.]. In SIGGRAPH'97 (August 1997), pp. 65–76.
- SmallPt [ 16 травня 2017 у Wayback Machine.] is an educational path tracer by Kevin Beason. It uses 99 lines of C++ (including scene description). This page has a good set of examples of noise resulting from this technique.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Trasuvannya shlyahu ce metod Monte Karlo dlya renderinga zobrazhen trivimirnih scen u komp yuternij grafici globalne osvitlennya kotrih tochno vidpovidaye dijsnosti Po suti algoritm integruyetsya po vsij osvitlenosti sho nadhodit v odnu tochku na poverhni ob yektu Potim cyu osvitlenist zmenshuyut za dopomogoyu funkciyi vidobrazhennya poverhni dvopromeneva funkciya vidbivnoyi zdatnosti shob viznachiti yaka chastina bude peredana do tochki oglyadu kameri Cya procedura integraciyi povtoryuyetsya dlya kozhnogo pikselya v vihidnomu zobrazhenni U poyednanni z fizichno tochnimi modelyami poverhon tochnimi modelyami realnih dzherel svitla lampochkami i optichno pravilnimi kamerami trasuvannya shlyahu mozhe stvoryuvati neruhomi zobrazhennya yaki ne vidriznyayutsya vid fotografij Zobrazhennya renderitsya za dopomogoyu trasuvannya shlyahu demonstruyuchi primitni osoblivosti cogo metodu Trasuvannya shlyahu prirodnim chinom imituye bagato efektiv yaki povinni buti specialno dodani do inshih metodiv zvichajne trasuvannya promeniv abo algoritm Scanline taki yak m yaki tini glibina rizko zobrazhuvanogo prostoru rozmitist zobrazhennya kaustika ambient occlusion i nepryame osvitlennya Vidpovidno prostishe realizuvati rendering sho vklyuchaye ci efekti Rozshirenij variant algoritmu realizuyetsya shlyahom ob yemnogo trasuvannya shlyahu yakij vrahovuye rozsiyuvannya svitla sceni Zavdyaki svoyij tochnosti i ob yektivnosti trasuvannya shlyahu vikoristovuyetsya dlya stvorennya etalonnih zobrazhen pri testuvanni yakosti inshih algoritmiv renderingu Shob otrimuvati visokoyakisni zobrazhennya vikoristovuyuchi trasuvannya shlyahu neobhidno protrasuvati veliku kilkist promeniv dlya uniknennya vidimih artefaktiv z shumom IstoriyaRivnyannya renderingu i jogo vikoristannya v komp yuternij grafici bulo predstavlene en v 1986 1 Trasuvannya shlyahu buv vvedenij todi yak algoritm dlya znahodzhennya chiselnogo rishennya integrala rivnyannya renderingu Desyat rokiv po tomu Lafortune zaproponuvali bagato utochnen v tomu chisli algoritm dvobichnogo trasuvannya shlyahu 2 Metropolis light transport metod zburen ranishe znajdenih shlyahiv dlya zbilshennya produktivnosti v skladnih scenah buv predstavlenij v 1997 roci Erikom Vichem angl Eric Veach i Leonidasom Guibasom angl Leonidas J Guibas Zovsim neshodavno procesori i grafichni procesori stali dosit potuzhnimi shob renderiti zobrazhennya shvidshe sho viklikalo bilsh shirokij interes do algoritmiv trasuvannya shlyahu Tim Persell vpershe predstaviv globalnij algoritm osvitlennya sho pracyuye na grafichnomu procesori v 2002 roci 3 U lyutomu 2009 roku Ostin Robinson z Nvidia prodemonstruvav pershu komercijnu realizaciyu trasuvannya shlyahu yaka pracyuye na GPU 4 Comu spriyalo dozrivannya GPGPU oriyentovanih instrumentiv programuvannya takih yak CUDA i OpenCL a takozh SDK GPU dlya trasuvannya promeniv takih yak en U 2015 roci planuyetsya perenesennya trasuvannya shlyahu na DirectX 12 i Vulkan API Roboti nad pershim vzhe vedutsya Trasuvannya shlyahu zigrala vazhlivu rol v kinoindustriyi Ranishe filmi vikoristovuvali zasobi algoritmu Scanline dlya stvorennya CG vizualnih efektiv i animaciyi U 1998 roci Blue Sky Studios predstavili korotkometrazhnij film Banni yakij otrimav premiyu Oskar z yih vlasnimi zasobami renderinga trasuvannya shlyahiv CGI Studio z m yakimi tinyami i efektami nepryamogo osvitlennya U 2006 roci v en buv zroblenij pershij animacijnij povnometrazhnij hudozhnij film Budinok monstr yakij buv povnistyu stvorenij na trasuvalnikovi shlyahiv vikoristovuyuchi komercijnij render en Do 2014 roku praktichno vsi vizualni efekti i animacijni filmi pochali vikoristovuvati trasuvannya shlyahu OpisRivnyannya renderingu Kadzhaya dotrimuyetsya troh osoblivih principiv optiki princip globalnogo osvitlennya princip ekvivalentnosti i princip napryamku U realnomu sviti ob yekti i poverhni vidno cherez te sho voni vidbivayut svitlo Ce vidbite svitlo potim visvitlyuye inshi ob yekti po cherzi Z cogo prostogo sposterezhennya viplivayut dva principi I Dlya danoyi vnutrishnoyi sceni kozhen ob yekt v kimnati povinen spriyati visvitlennyu kozhnogo inshogo ob yekta II Po druge ne isnuye vidminnosti mizh osvitlennyam viprominyuvanih dzherelom svitla i osvitlennyam vidbitim vid poverhni Pridumanij v 1984 roci zovsim inshij metod zvanij radiosity buv virnij obom principam Odnak radiosity pov yazuye zagalnu osvitlenist sho potraplyaye na poverhnyu z rivnomirnoyu yaskravistyu yaka zalishaye poverhnyu Ce zmusilo vsi poverhni buti Lambertianskimi abo absolyutno rozmitimi Usvidomlennya togo sho rozsiyuvannya vid poverhni zalezhit yak vid vhidnih tak i vid vihidnih napryamiv ye klyuchovim principom funkciyi rozpodilu dvonapravlenogo vidobrazhennya Cya zalezhnist napryamku bula centrom doslidzhennya rezultatom yakogo stali publikaciyi vazhlivih idej protyagom 1990 h rokiv III Osvitlennya sho prihodit z poverhon maye rozsiyuvatisya v pevnomu napryamku yake ye deyakoyu funkciyeyu vhidnogo napryamku osvitlenosti sho nadhodit de vidbirayetsya vihidnij napryamok Rivnyannya Kadzhaya yavlyaye soboyu povnij viklad cih troh principiv i trasuvannya shlyahu yake nablizhayetsya do virishennya rivnyannya zalishayetsya virnoyu yim v realizaciyi Isnuyut i inshi principi optiki yaki ne ye fokusom rivnyannya Kadzhaya i tomu chasto skladno abo nepravilno imituyutsya algoritmom Trasuvannya shlyahu plutayetsya z optichnimi yavishami sho ne mistitsya v cih troh principah Napriklad Yaskravi rizki kaustiki shkali yaskravosti po shilnosti osvitlenosti v prostori Rozsiyuvannya svitla pid poverhneyu porushennya principu III vishe Hromatichnoyi aberaciyi fluorescenciya irizaciya svitlo yavlyaye soboyu spektr chastot AlgoritmNastupnij psevdokod ce procedura vikonannya nayivnogo trasuvannya shlyahu Cya funkciya obchislyuye odin zrazok pikselya v yakomu vrahovuyetsya tilki trayektoriya vivedennya Color TracePath Ray r depth if depth MaxDepth return Black Bounced enough times r FindNearestObject if r hitSomething false return Black Nothing was hit Material m r thingHit gt material Color emittance m emittance Pick a random direction from here and keep going Ray newRay newRay origin r pointWhereObjWasHit newRay direction RandomUnitVectorInHemisphereOf r normalWhereObjWasHit This is NOT a cosine weighted distribution Compute the BRDF for this ray assuming Lambertian reflection float cos theta DotProduct newRay direction r normalWhereObjWasHit Color BRDF 2 m reflectance cos theta Color reflected TracePath newRay depth 1 Apply the Rendering Equation here return emittance BRDF reflected Primitka BRDF Bidirectional reflectance distribution function Dvopromeneva funkciya vidbivnoyi zdatnostiDvonapravlene trasuvannya shlyahuVibirka integrala dlya tochki mozhe buti vikonana za dopomogoyu bud yakogo z nastupnih dvoh riznih pidhodiv Strilyati promenyami Shooting rays z dzherel svitla i stvoryuvati shlyahi v sceni Shlyah pererivayetsya vipadkovim chislom krokiv vidskokiv promenya Potim svitlo pryamuye na proektovanij piksel rezultuyuchogo zobrazhennya Pid chas cogo metodu renderingu miljoni shlyahiv stvoryuyutsya i na zobrazhenni zapam yatovuyutsya rezultati prorahunku shlyahiv sho vnosyat vklad Zbirati promeni Gathering rays z tochki na poverhni Promin vistrilyuyetsya kriz pikseli zobrazhennya i skache po sceni poki ne zustrine na svoyemu shlyahu dzherelo svitla Svitlo z dzherela svitla todi nadsilayetsya u napryamku pikseliv zobrazhennya Proces stvorennya shlyahu nazivayetsya semplingom Odna tochka poverhni zazvichaj otrimuye vid 800 sempliv do 3 tisyach Finalna kartinka perevoditsya za dopomogoyu arifmetichnih dij ne prostim pidsumovuvannyam sempliv Dvonapravlene trasuvannya promeniv kombinuye Shooting ta Gathering v odnomu algoritmi i ce daye bilsh shvidku zbizhnist zobrazhennyu shvidshe i menshe shumu Ci 2 metodi generaciyi shlyahiv trasuyutsya nezalezhno i potim pochatok vistrilenogo shlyahu shooting path z yednuyetsya z hvostom shlyahu zboru promeniv gathering path Vrahovuyetsya zagasannya svitla pri kozhnomu vidskoku promenya i zapam yatovuyetsya v pikselyah zobrazhennya Cya tehnika zdayetsya na pershij poglyad paradoksalno povilnoyu ale ce cherez te sho rahuyutsya vidrazu 2 shlyahi Na praktici zh navpaki dodatkova shvidkist zbizhnosti zobrazhennya kompensuye upovilnennya sho vinikayut cherez neobhidnist vipuskati novi i novi promeni Dlya priskorennya konvergenciyi zbizhnist zblizhennya zobrazhen dvonapravleni algoritmi trasuyut shlyahi v oboh napryamkah U pryamomu napryamku promeni trasuyutsya vid dzherela svitla do tih pir poki voni ne stanut nastilki slabkimi sho yih ne mozhna bude pobachiti chi poki ne potraplyat na ob yektiv virtualnoyi kameri U zvorotnomu tobto standartnomu zagalnoprijnyatomu napryamku promeni trasuyutsya vid virtualnoyi kameri do tih pir poki voni ne zitknutsya z dzherelom svitla abo poki kilkist yih vidobrazhen ne perevishit pevnu mezhu Takij pidhid zazvichaj privodit do takogo zobrazhennya yake shoditsya nabagato shvidshe nizh pri vikoristanni lishe odnogo napryamku ProduktivnistShum zmenshuyetsya v miru zbilshennya kilkosti vibirok na piksel U livomu verhnomu kuti vidobrazhayetsya 1 vibirka na piksel ta podvoyena vibirka v kozhnomu kvadrati zliva napravo Trasuvalnik shlyahu postijno provodit vibirku pikseliv zobrazhennya Zobrazhennya staye vpiznavannim tilki todi koli provedeno kilka vibirok na odin piksel azh do 100 vibirok na piksel Yak pravilo dlya zvichajnih zobrazhen i dlya zmenshennya cifrovogo shumu do prijnyatnogo rivnya roblyat blizko 5000 vibirok Odnak dlya patologichnih vipadkiv kilkist vibirok staye nabagato bilshe Proces renderinga mozhe zajnyati godini i dni v zalezhnosti vid skladnosti sceni i produktivnosti aparatnogo i programnogo zabezpechennya Suchasni realizaciyi grafichnih procesoriv obicyayut vid 1 do 10 miljoniv vibirok v sekundu sho robit mozhlivim zgeneruvati vidnosno bezshumne zobrazhennya prijnyatnoyi yakosti protyagom dekilkoh sekund abo hvilin Cifrovij shum stvoryuye osoblivu problemu dlya animaciyi stvoryuyuchi yak pravilo nebazhanij efekt zernistosti zobrazhennya Grupa metodiv en zlegka zminyuyut ranishe vidtrasovani uspishni shlyahi i robit bilsh vazhlivi dlya zobrazhennya vibirki pershimi Ce mozhe privesti do znizhennya shumnosti zobrazhennya i znizhennya kilkosti vibirok Funkciyi rozpodilu rozsiyuvannyaZobrazhennya funkcij rozpodilu dvonapravlenogo rozsiyuvannya Vidobrazhayuchi zdatnosti poverhon kilkist vidbitogo svitla jogo napryamok i kolir modelyuyutsya z vikoristannyam dvopromenevoyi funkciyi vidbivnoyi zdatnosti Ekvivalentom perenesenogo svitla svitla sho projshlo cherez ob yekt ye funkciya dvonapravlenogo poverhnevogo rozsiyuvannya vidobrazhennya Trasuvalnik shlyahu mozhe skoristatisya vsima perevagami skladnih retelno zmodelovanih abo obchislenih funkcij rozpodilu yaki viznachayut zovnishnij viglyad material tekstura i zatinennya v terminah komp yuternoyi grafiki ob yekta Div takozh en Blender programne zabezpechennya en Primitki Kajiya J T 1986 The rendering equation Proceedings of the 13th annual conference on Computer graphics and interactive techniques ACM Lafortune E Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering 24 kvitnya 2010 u Wayback Machine PhD thesis 1996 Purcell T J Buck I Mark W and Hanrahan P Ray Tracing on Programmable Graphics Hardware Proc SIGGRAPH 2002 703 712 See also Purcell T Ray tracing on a stream processor 10 zhovtnya 2017 u Wayback Machine PhD thesis 2004 Robison Austin Interactive Ray Tracing on the GPU and NVIRT Overview 30 serpnya 2017 u Wayback Machine slide 37 I3D 2009 Veach E and Guibas L J Metropolis light transport 16 travnya 2017 u Wayback Machine In SIGGRAPH 97 August 1997 pp 65 76 SmallPt 16 travnya 2017 u Wayback Machine is an educational path tracer by Kevin Beason It uses 99 lines of C including scene description This page has a good set of examples of noise resulting from this technique