Ця стаття не містить . (вересень 2020) |
Трасування променів (англ. ray tracing) у комп'ютерній графіці є способом створення зображення тривимірних об'єктів чи сцени за допомогою відстеження ходу променя світла крізь точку екрану і симуляції взаємодії цього променя з уявними об'єктами, що підлягають відображенню. Цей спосіб дозволяє створювати надзвичайно реалістичні зображення, зазвичай значно вищої якості, ніж дає типовий алгоритм Scanline або ж метод кидання променів (англ. Ray casting), проте має значно вищу обчислювальну складність. Із цієї причини алгоритми трасування променів використовуються там, де немає суттєвих обмежень часу рендерингу, наприклад у створенні нерухомих зображень чи для комп'ютерної графіки і спецефектів у фільмах, мультиплікації чи телебаченні, але до появи графічних адаптерів зі спеціальними апаратними прискорювачами були малопридатними для застосувань, що працюють в режимі реального часу, наприклад, відеоігор. Метод трасування променів здатний симулювати широкий набір оптичних ефектів, таких як відбиття променів, їх заломлення, розсіювання чи хроматичну аберацію.
Опис алгоритму
Ідея алгоритму полягає в тому, щоб простежити хід променя від уявного ока глядача крізь кожен піксель на уявному екрані і обрахувати колір об'єкта, видимого оком крізь нього. Тривимірні сцени чи моделі описані математично програмістом або дизайнером за допомогою спеціального програмного забезпечення. Для кожного об'єкта існує геометричний опис його форми і оптичних властивостей поверхні та речовини, з якої він зроблений. Зазвичай, кожен промінь має бути перевірено на перетин із певною підмножиною об'єктів сцени. Спочатку слід визначити перший об'єкт, на який падає промінь, підрахувати чи досить точно припустити освітленість об'єкта в точці падіння променя, виходячи з відомих даних про джерела світла у сцені, а потім, враховуючи відомості про оптичні властивості матеріалу об'єкта у точці перетину з променем, обрахувати остаточний колір та яскравість променя-пікселя. В разі, якщо матеріал об'єкта в точці падіння променя відбиває промінь, або ж заломлює його, знадобиться додати більше променів до сцени, щоб відстежити колір цього пікселя.
Фізичні основи алгоритму
У природі джерело світла випромінює промінь світла, який мандрує, поки його поширенню не заважає якийсь об'єкт. "Промінь" можна уявляти собі як потік фотонів, що летять у одному напрямку. Якщо зневажити релятивістські ефекти, то у повному вакуумі такий потік буде поширюватися вздовж геометричної прямої лінії. У реальному середовищі, з променем можуть трапитися різні ефекти, наприклад поглинання, відбиття, заломлення, флуоресценція тощо. Поверхня може відбити світло у одному чи декількох напрямках, або розсіяти його. Світло може бути частково відбите, частково розсіяне, а частково - поглинуте поверхнею. Якщо ж матеріал поверхні є прозорим, то світло також буде поширюватися крізь матеріал, який може поглинати його частково у всьому чи частині спектру, змінюючи таким чином колір променя. При цьому світло буде поширюватися у іншому напрямку (заломлення). Рідше світло може бути частково поглинуте матеріалом і знову випромінене у вигляді флуоресценції світла довших хвиль (інший колір) у довільних напрямках. Сума відбитого, заломленого, поглинутого і випроміненого у вигляді флуоресценції світла має дорівнювати отриманому світлу. Надалі, нові промені відбитого, заломленого чи випроміненого світла самі потрапляють на інші об'єкти, де вони теж зазнають вказаних ефектів. Деякі з цих променів досягають наших очей, і завдяки інформації про колір і силу світла, що в них міститься, ми маємо змогу бачити світ навколо нас.
Метод кидання променів
Це алгоритм на основі «кидання» променя (англ. ray casting) нібито «з очей» глядача, крізь кожен піксель екрана, і знаходження найближчого об'єкта, що блокує хід такого променя. Використавши властивості його матеріалу і освітлення сцени, ми отримуємо шуканий колір пікселя. Терміни «кидання променів» і «трасування променів» часто плутають. Однак термін «метод кидання променів» (стосовно рендерингу) фактично означає спрощений, нерекурсивний варіант трасування променів, бо у ньому не відбувається подальша обробка відбитих чи заломлених променів, а враховується лише перша поверхня-перешкода на шляху променів.
Цей метод застосовується у відеоіграх із 80-х років. Він досить неточний, тож для збільшення реалістичності зображення розробникам доводиться послуговуватися стандартними для сучасних ігор способами затінення (текстурні мапи тіней та інші). Однак цей метод дозволяє добре обробляти конічні чи сферичні поверхні, які важко реалістично імітувати, скажімо, полігонами.
Деталізований опис алгоритму
Через кожен піксель з віртуального "ока" глядача проводиться промінь. Кожен промінь трасується.
Спрощений алгоритм трасування є таким:
- Шукаємо перетин променя з деякою поверхнею сцени.
- Якщо не знайшли, то для цього пікселя встановлюємо деяку фонову освітленість.
- Якщо ж перетин знайшовся, то:
- поточну яскравість вважаємо фоновою
- для кожного точкового джерела світла випускаємо промінь зі знайденої точки перетину, шукаючи його перетин зі сценою.
- якщо перетин знайдено, і він розташований між поверхнею і джерелом світла, то джерело світла не освітлює цю поверхню.
- якщо джерело світла освітлює поверхню, то вираховуємо за рівнянням Фонга чи іншим освітленість точки поверхні, і додаємо її до поточної.
- якщо поверхня має властивість відбивати все чи частину світла, то випускаємо відбитий промінь, трасуючи його, як і інші, а результат його обрахунків яскравості враховуємо для розрахунку яскравості початкового променя, беручи до уваги коефіцієнт відбиття та інші можливі властивості поверхні.
- якщо матеріал поверхні пропускає і заломлює світло, то також випускаємо новий промінь у напрямку заломлення, який трасуємо. Можливе послаблення світла в процесі проходження крізь речовину, що теж враховується. Потім яскравість заломленого променя теж враховується для розрахунку сумарної яскравості початкового променя.
Переваги
Алгоритм трасування променів дозволяє природним чином отримати такі ефекти, які для інших алгоритмів рендеринга складають значну складність. Серед них правильне затінення, дзеркальні поверхні, заломлення світла. Завдяки цьому реалістичність сцен, обрахованих методом трасування променів, інколи сягає "фотографічної".
Також, на відміну від поширених полігональних алгоритмів, він дозволяє обробляти у сцені об'єкти фактично довільних геометричних форм, що можуть бути виражені математичним записом - справжні (а не апроксимованих полігонами) полігони, сфери, тори, конуси, параболоїди, еліпсоїди та т.ін.
Алгоритм також дозволяє природно розпаралелити обчислення між процесорами, адже обрахування ходу кожного променя у сцені відбувається незалежно.
Недоліки
Головним недоліком на теперішній час (2019 рік) є надмірна часова складність алгоритму, яка перевищує можливості сучасних настільних і портативних комп'ютерів.
Ще однією вадою є те, що хоча алгоритм точно враховує різні оптичні ефекти, традиційний метод трасування променів дає не завжди фотореалістичні зображення. Справжній фотореалізм можливий лише коли рівняння рендерингу апроксимується доволі близько, адже це рівняння враховує кожен можливий ефект потоку світла. Однак це потребує часом надзвичайно великих обчислювальних потужностей. Тож будь-який метод рендерингу є лише наближенням до цього рівняння, і часом метод трасування променів не є найбільш близьким, а отже — і реалістичним. Інші методи, зокрема метод , частково використовують алгоритм трасування променів, але дають значно реалістичніші результати, дозволяючи відображати такі складні ефекти, як, для прикладу, каустики.
Застосування алгоритму
Трасування променів в кіно
Трасування променів в кіноіндустрії застосовується вже дуже давно і стала фактично стандартним методом візуалізації в цій галузі. Зрозуміло для завдань кіно необхідний фотореалістичний рендеринг. Швидкість в принципі не так важлива. Буває, що окремі послідовності кадрів розраховуються тижнями, і на обробку кадру йде понад 1 годину (при 24 кадр/сек виходить, що 1 секунда буде рендеритися 24 години).
Трасування променів в іграх
У комп'ютерних іграх у трасування променів подвійне застосування. Розрахунок карт освітлення або лайтмапів. Зазвичай це робиться за допомогою фотонних карт. Практично будь–яка сучасна 3D гра використовує карти освітленості. Лайтмап – це текстура, на якій освітлення намальовано. Вона накладається поверх сцени і виходить, що сцена освітлена. Друге застосування трасування променів в іграх – безпосередня візуалізація, попіксельний розрахунок зображення кожен кадр. Прикладів таких ігор можна навести мало головним чином, тому що кількість пікселів досить велике і протрасувати мільйон променів 25 разів на секунду це досить непросте завдання. Вже зараз з'являються 8–ядерні машини як ПК, обчислювальних потужностей яких у принципі вистачає для візуалізації середньої сцени методом трасування променів.
Трасування променів у торговельному бізнесі
В основному мова йде про фотореалістичну візуалізацію. Часто деякий товар, наприклад, меблі є в декількох варіантах. У офісних крісел може бути різна оббивка, колеса або інші деталі, з яких по–суті можна зібрати потрібне покупцю крісло. Проте займатися цим на місці не завжди зручно. Частіше набагато дешевше/простіше змоделювати той товар, який покупець хоче бачити. За допомогою методу трасування променів можна отримати картинку, яку практично неможливо відрізнити від реальності – тобто можна зробити фотографію товару, якого ще немає.
Трасування променів зокрема в програмному забезпеченні
- Пропрієтарне: , (плагін до 3ds MAX), , , , (інтерактивний рейтрейсер), , Kerkythea, Maxwell Render, mental ray, RenderMan ( або ), V-Ray, bCAD, SolidWorks, Photoshop CS6
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno veresen 2020 Trasuvannya promeniv angl ray tracing u komp yuternij grafici ye sposobom stvorennya zobrazhennya trivimirnih ob yektiv chi sceni za dopomogoyu vidstezhennya hodu promenya svitla kriz tochku ekranu i simulyaciyi vzayemodiyi cogo promenya z uyavnimi ob yektami sho pidlyagayut vidobrazhennyu Cej sposib dozvolyaye stvoryuvati nadzvichajno realistichni zobrazhennya zazvichaj znachno vishoyi yakosti nizh daye tipovij algoritm Scanline abo zh metod kidannya promeniv angl Ray casting prote maye znachno vishu obchislyuvalnu skladnist Iz ciyeyi prichini algoritmi trasuvannya promeniv vikoristovuyutsya tam de nemaye suttyevih obmezhen chasu renderingu napriklad u stvorenni neruhomih zobrazhen chi dlya komp yuternoyi grafiki i specefektiv u filmah multiplikaciyi chi telebachenni ale do poyavi grafichnih adapteriv zi specialnimi aparatnimi priskoryuvachami buli malopridatnimi dlya zastosuvan sho pracyuyut v rezhimi realnogo chasu napriklad videoigor Metod trasuvannya promeniv zdatnij simulyuvati shirokij nabir optichnih efektiv takih yak vidbittya promeniv yih zalomlennya rozsiyuvannya chi hromatichnu aberaciyu Rekursivne trasuvannya promeniv demonstruye efekt glibini rizkosti miscevih dzherel svitla i rozsiyanogo vzayemnogo vidbittya ob yektiv Opis algoritmuZagalna shema roboti algoritmu uyavni promeni prohodyat kriz piksel ekrana i jdut u scenu vzayemodiyuchi z neyu Ideya algoritmu polyagaye v tomu shob prostezhiti hid promenya vid uyavnogo oka glyadacha kriz kozhen piksel na uyavnomu ekrani i obrahuvati kolir ob yekta vidimogo okom kriz nogo Trivimirni sceni chi modeli opisani matematichno programistom abo dizajnerom za dopomogoyu specialnogo programnogo zabezpechennya Dlya kozhnogo ob yekta isnuye geometrichnij opis jogo formi i optichnih vlastivostej poverhni ta rechovini z yakoyi vin zroblenij Zazvichaj kozhen promin maye buti perevireno na peretin iz pevnoyu pidmnozhinoyu ob yektiv sceni Spochatku slid viznachiti pershij ob yekt na yakij padaye promin pidrahuvati chi dosit tochno pripustiti osvitlenist ob yekta v tochci padinnya promenya vihodyachi z vidomih danih pro dzherela svitla u sceni a potim vrahovuyuchi vidomosti pro optichni vlastivosti materialu ob yekta u tochci peretinu z promenem obrahuvati ostatochnij kolir ta yaskravist promenya pikselya V razi yaksho material ob yekta v tochci padinnya promenya vidbivaye promin abo zh zalomlyuye jogo znadobitsya dodati bilshe promeniv do sceni shob vidstezhiti kolir cogo pikselya Fizichni osnovi algoritmuZavdyaki pravilnij obrobci zatinennya ta zalomlennya svitla realistichnist scen obrahovanih metodom trasuvannya promeniv inkoli syagaye fotografichnoyi U prirodi dzherelo svitla viprominyuye promin svitla yakij mandruye poki jogo poshirennyu ne zavazhaye yakijs ob yekt Promin mozhna uyavlyati sobi yak potik fotoniv sho letyat u odnomu napryamku Yaksho znevazhiti relyativistski efekti to u povnomu vakuumi takij potik bude poshiryuvatisya vzdovzh geometrichnoyi pryamoyi liniyi U realnomu seredovishi z promenem mozhut trapitisya rizni efekti napriklad poglinannya vidbittya zalomlennya fluorescenciya tosho Poverhnya mozhe vidbiti svitlo u odnomu chi dekilkoh napryamkah abo rozsiyati jogo Svitlo mozhe buti chastkovo vidbite chastkovo rozsiyane a chastkovo poglinute poverhneyu Yaksho zh material poverhni ye prozorim to svitlo takozh bude poshiryuvatisya kriz material yakij mozhe poglinati jogo chastkovo u vsomu chi chastini spektru zminyuyuchi takim chinom kolir promenya Pri comu svitlo bude poshiryuvatisya u inshomu napryamku zalomlennya Ridshe svitlo mozhe buti chastkovo poglinute materialom i znovu viprominene u viglyadi fluorescenciyi svitla dovshih hvil inshij kolir u dovilnih napryamkah Suma vidbitogo zalomlenogo poglinutogo i viprominenogo u viglyadi fluorescenciyi svitla maye dorivnyuvati otrimanomu svitlu Nadali novi promeni vidbitogo zalomlenogo chi viprominenogo svitla sami potraplyayut na inshi ob yekti de voni tezh zaznayut vkazanih efektiv Deyaki z cih promeniv dosyagayut nashih ochej i zavdyaki informaciyi pro kolir i silu svitla sho v nih mistitsya mi mayemo zmogu bachiti svit navkolo nas Metod kidannya promenivDokladnishe Ray casting Ce algoritm na osnovi kidannya promenya angl ray casting nibito z ochej glyadacha kriz kozhen piksel ekrana i znahodzhennya najblizhchogo ob yekta sho blokuye hid takogo promenya Vikoristavshi vlastivosti jogo materialu i osvitlennya sceni mi otrimuyemo shukanij kolir pikselya Termini kidannya promeniv i trasuvannya promeniv chasto plutayut Odnak termin metod kidannya promeniv stosovno renderingu faktichno oznachaye sproshenij nerekursivnij variant trasuvannya promeniv bo u nomu ne vidbuvayetsya podalsha obrobka vidbitih chi zalomlenih promeniv a vrahovuyetsya lishe persha poverhnya pereshkoda na shlyahu promeniv Cej metod zastosovuyetsya u videoigrah iz 80 h rokiv Vin dosit netochnij tozh dlya zbilshennya realistichnosti zobrazhennya rozrobnikam dovoditsya poslugovuvatisya standartnimi dlya suchasnih igor sposobami zatinennya teksturni mapi tinej ta inshi Odnak cej metod dozvolyaye dobre obroblyati konichni chi sferichni poverhni yaki vazhko realistichno imituvati skazhimo poligonami Detalizovanij opis algoritmuCherez kozhen piksel z virtualnogo oka glyadacha provoditsya promin Kozhen promin trasuyetsya Sproshenij algoritm trasuvannya ye takim Shukayemo peretin promenya z deyakoyu poverhneyu sceni Yaksho ne znajshli to dlya cogo pikselya vstanovlyuyemo deyaku fonovu osvitlenist Yaksho zh peretin znajshovsya to potochnu yaskravist vvazhayemo fonovoyu dlya kozhnogo tochkovogo dzherela svitla vipuskayemo promin zi znajdenoyi tochki peretinu shukayuchi jogo peretin zi scenoyu yaksho peretin znajdeno i vin roztashovanij mizh poverhneyu i dzherelom svitla to dzherelo svitla ne osvitlyuye cyu poverhnyu yaksho dzherelo svitla osvitlyuye poverhnyu to virahovuyemo za rivnyannyam Fonga chi inshim osvitlenist tochki poverhni i dodayemo yiyi do potochnoyi yaksho poverhnya maye vlastivist vidbivati vse chi chastinu svitla to vipuskayemo vidbitij promin trasuyuchi jogo yak i inshi a rezultat jogo obrahunkiv yaskravosti vrahovuyemo dlya rozrahunku yaskravosti pochatkovogo promenya beruchi do uvagi koeficiyent vidbittya ta inshi mozhlivi vlastivosti poverhni yaksho material poverhni propuskaye i zalomlyuye svitlo to takozh vipuskayemo novij promin u napryamku zalomlennya yakij trasuyemo Mozhlive poslablennya svitla v procesi prohodzhennya kriz rechovinu sho tezh vrahovuyetsya Potim yaskravist zalomlenogo promenya tezh vrahovuyetsya dlya rozrahunku sumarnoyi yaskravosti pochatkovogo promenya PerevagiAlgoritm trasuvannya promeniv dozvolyaye prirodnim chinom otrimati taki efekti yaki dlya inshih algoritmiv renderinga skladayut znachnu skladnist Sered nih pravilne zatinennya dzerkalni poverhni zalomlennya svitla Zavdyaki comu realistichnist scen obrahovanih metodom trasuvannya promeniv inkoli syagaye fotografichnoyi Takozh na vidminu vid poshirenih poligonalnih algoritmiv vin dozvolyaye obroblyati u sceni ob yekti faktichno dovilnih geometrichnih form sho mozhut buti virazheni matematichnim zapisom spravzhni a ne aproksimovanih poligonami poligoni sferi tori konusi paraboloyidi elipsoyidi ta t in Algoritm takozh dozvolyaye prirodno rozparaleliti obchislennya mizh procesorami adzhe obrahuvannya hodu kozhnogo promenya u sceni vidbuvayetsya nezalezhno NedolikiTrasuvannya promeniv ne dozvolyaye otrimati takij efekt yak kaustika svitla Golovnim nedolikom na teperishnij chas 2019 rik ye nadmirna chasova skladnist algoritmu yaka perevishuye mozhlivosti suchasnih nastilnih i portativnih komp yuteriv She odniyeyu vadoyu ye te sho hocha algoritm tochno vrahovuye rizni optichni efekti tradicijnij metod trasuvannya promeniv daye ne zavzhdi fotorealistichni zobrazhennya Spravzhnij fotorealizm mozhlivij lishe koli rivnyannya renderingu aproksimuyetsya dovoli blizko adzhe ce rivnyannya vrahovuye kozhen mozhlivij efekt potoku svitla Odnak ce potrebuye chasom nadzvichajno velikih obchislyuvalnih potuzhnostej Tozh bud yakij metod renderingu ye lishe nablizhennyam do cogo rivnyannya i chasom metod trasuvannya promeniv ne ye najbilsh blizkim a otzhe i realistichnim Inshi metodi zokrema metod chastkovo vikoristovuyut algoritm trasuvannya promeniv ale dayut znachno realistichnishi rezultati dozvolyayuchi vidobrazhati taki skladni efekti yak dlya prikladu kaustiki Zastosuvannya algoritmuTrasuvannya promeniv v kino Trasuvannya promeniv v kinoindustriyi zastosovuyetsya vzhe duzhe davno i stala faktichno standartnim metodom vizualizaciyi v cij galuzi Zrozumilo dlya zavdan kino neobhidnij fotorealistichnij rendering Shvidkist v principi ne tak vazhliva Buvaye sho okremi poslidovnosti kadriv rozrahovuyutsya tizhnyami i na obrobku kadru jde ponad 1 godinu pri 24 kadr sek vihodit sho 1 sekunda bude renderitisya 24 godini Trasuvannya promeniv v igrah U komp yuternih igrah u trasuvannya promeniv podvijne zastosuvannya Rozrahunok kart osvitlennya abo lajtmapiv Zazvichaj ce robitsya za dopomogoyu fotonnih kart Praktichno bud yaka suchasna 3D gra vikoristovuye karti osvitlenosti Lajtmap ce tekstura na yakij osvitlennya namalovano Vona nakladayetsya poverh sceni i vihodit sho scena osvitlena Druge zastosuvannya trasuvannya promeniv v igrah bezposerednya vizualizaciya popikselnij rozrahunok zobrazhennya kozhen kadr Prikladiv takih igor mozhna navesti malo golovnim chinom tomu sho kilkist pikseliv dosit velike i protrasuvati miljon promeniv 25 raziv na sekundu ce dosit neproste zavdannya Vzhe zaraz z yavlyayutsya 8 yaderni mashini yak PK obchislyuvalnih potuzhnostej yakih u principi vistachaye dlya vizualizaciyi serednoyi sceni metodom trasuvannya promeniv Trasuvannya promeniv u torgovelnomu biznesi V osnovnomu mova jde pro fotorealistichnu vizualizaciyu Chasto deyakij tovar napriklad mebli ye v dekilkoh variantah U ofisnih krisel mozhe buti rizna obbivka kolesa abo inshi detali z yakih po suti mozhna zibrati potribne pokupcyu krislo Prote zajmatisya cim na misci ne zavzhdi zruchno Chastishe nabagato deshevshe prostishe zmodelyuvati toj tovar yakij pokupec hoche bachiti Za dopomogoyu metodu trasuvannya promeniv mozhna otrimati kartinku yaku praktichno nemozhlivo vidrizniti vid realnosti tobto mozhna zrobiti fotografiyu tovaru yakogo she nemaye Trasuvannya promeniv zokrema v programnomu zabezpechenni Vilne Blender BRL CAD LuxRender Sunflow YafaRay Propriyetarne plagin do 3ds MAX interaktivnij rejtrejser Kerkythea Maxwell Render mental ray RenderMan abo V Ray bCAD SolidWorks Photoshop CS6Div takozhRendering