Кіріспе

Компьютерлік графика әдісі

Жолды іздеу – үш өлшемді көріністердің бейнелерін көрсетуге арналған компьютерлік графиканың Монте-Карло әдісі, бұл жаһандық жарықтандырудың шынайылыққа сәйкес келуін қамтамасыз етеді. Алгоритмнің негізі – объекті бетіндегі бір нүктеге келіп түсетін барлық жарық мөлшерін интегралдау. Бұл жарық мөлшері беттік шағылыс функциясы (BRDF) арқылы төмендетіледі, соның нәтижесінде қаншасы көру нүктесіне бағытталатыны анықталады. Бұл интегралдау процедурасы шығыс кескініндегі әрбір пиксел үшін қайталанады. Егер бұл әдіс беткейдің физикалық тұжырымдамаларымен, жарық көздерінің нақты үлгілерімен және оптикалық тұрғыдан дұрыс камералармен үйлестірілсе, жолды іздеу фотосуреттерден ажыратуға болмайтын бейнелерді тудырады. Жолды іздеу басқа әдістерге (дәстүрлі сәуле іздеу немесе сканерлеу) қосымша енгізілуі тиіс көптеген эффектілерді табиғи түрде симуляциялайды, мысалы, жұмсақ көлеңкелер, тереңдік, қозғалыс бұлыңғырлығы, каустикалар, қоршаған ортаның жабылуы және жанама жарық. Осы эффектілерді қамтитын рендердің іске асырылуы осыған сәйкес жеңілдетіледі. Алгоритмнің кеңейтілген нұсқасы көлемдік жолды іздеу арқылы жүзеге асырылады, ол көріністің жарық шашырауын ескереді. Дәлдігі, бейтараптығы және алгоритмдік қарапайымдылығының арқасында жолды іздеу басқа рендерлеу алгоритмдерінің сапасын тексеру үшін эталондық бейнелер жасауға қолданылады. Дегенмен, жолды іздеу алгоритмі салыстырмалы түрде тиімсіз: шу артефактілері жоқ жоғары сапалы бейнелер алу үшін өте көп сәулелерді іздеу қажет. Көптеген көріністер үшін бастапқы алгоритмге қарағанда тиімдірек бірнеше нұсқалар ұсынылған, оларға екі бағытты жолды іздеу, көлемдік жолды іздеу және Метрополис жарық көлігі жатады.

Тарих

Рендеринг теңдеуін және компьютерлік графикада оны қолдануды 1986 жылы Джеймс Каджия ұсынды. Жолды іздеу (Path tracing) рендерлеу теңдеуінің интегралына сандық шешім табу алгоритмі ретінде енгізілді. Он жылдан кейін Лафортун көптеген жетілдірулерді ұсынды, соның ішінде екі бағытты жолды іздеуді. Метрополис жарық көлігі (Metropolis light transport) – бұл қиын көріністерде өнімділікті арттыру үшін бұрын табылған жолдарды өзгерту арқылы жұмыс істейтін әдіс, ол 1997 жылы Эрик Вич және Леонидас Дж. Гибас ұсынды. Соңғы кезде CPU және GPU процессорлары суреттерді жылдам рендерлеуге жеткілікті қуатты болды, бұл жолды іздеу алгоритмдеріне қызығушылықты арттырды. Тим Перселл 2002 жылы GPU-да жұмыс істейтін жаһандық жарықтандыру алгоритмін (global illumination algorithm) ұсынды. 2009 жылдың ақпан айында Nvidia компаниясының Остин Робисон GPU-да жұмыс істейтін жолды іздеушінің (path tracer) алғашқы коммерциялық нұсқасын көрсетті, ал 2009 жылдың тамызында Владимир Койлазовтың нұсқасы және басқа да нұсқалар пайда болды. Бұған GPGPU бағдарламалау құралдары жиынтығының (CUDA және OpenCL) және GPU сәулелік іздеу SDK-ларының (OptiX) дамуы көмектесті. Жолды іздеу киноиндустриясында маңызды рөл атқарады. Бұрынғы фильмдерде CG визуалды эффектілер мен анимация жасау үшін сканерлеу әдісі қолданылды. 1998 жылы Blue Sky Studios академиялық сыйлыққа ие болған «Bunny» атты қысқаметражды фильмін өзінің жекеменшік CGI Studio жолды іздеу рендерімен (path tracing renderer) жасады, онда жұмсақ көлеңкелер мен жанама жарықтандыру эффектілері болды. Sony Pictures Imageworks компаниясының «Monster House» фильмі 2006 жылы коммерциялық Arnold рендерін пайдаланып, толығымен жолды іздеу арқылы (path tracer) түсірілген алғашқы анимациялық фильм болды. Сонымен қатар, Walt Disney Animation Studios 2014 жылы «Big Hero 6» фильмін жасағаннан бері Hyperion деп аталатын өзінің жетілдірілген жолды іздеушісін (optimized path tracer) пайдаланып келеді. Pixar Animation Studios та өзінің коммерциялық RenderMan рендері үшін жолды іздеуді қабылдады.

Сипаттама

Каджияның рендерингтік теңдеуі оптиканың үш ерекше қағидасына сәйкес келеді: Жаһандық жарықтандыру принципі, Теңдестік принципі (шағылысқан жарық шығарылған жарыққа тең) және Бағыт принципі (шағылысқан және шашыраған жарықтың бағыты болады). Шын әлемде заттар мен беттер жарықты шағылыстыратындықтан көрінеді. Бұл шағылысқан жарық өз кезегінде басқа заттарды жарықтандырады. Осы қарапайым байқаудан екі принцип туындайды. I. Белгілі бір ішкі кеңістікте бөлмедегі әрбір зат басқа барлық заттарды жарықтандыруға үлес қосуы керек. II. Екіншіден, жарық көзінен шыққан жарық пен беттен шағылысқан жарық арасында ешқандай айырмашылық жоқ. 1984 жылы ойлап табылған, радиоситаттамалық деп аталатын өзгеше әдіс осы екі принципке де адал болды. Дегенмен, радиоситаттамалық бетке түсетін жалпы жарық мөлшерін, беттен шығатын біркелкі жарықпен байланыстырады. Бұл барлық беттерді Ламбертиандық немесе «толық диффузиялық» болуға мәжбүр етті. Радиоситаттамалық енгізілген кезде көп назар аудартқанмен, шын әлемде толық диффузиялық беттер жоқ. Беттен шашыраудың кіріс және шығыс бағыттарына байланысты екенін түсіну, екі бағытты шағылу таралу функциясының (BRDF) негізгі принципі болып табылады. Бұл бағытқа тәуелділік 1990 жылдар бойы маңызды идеялардың жариялануына әкелген зерттеулердің басты бағыты болды, себебі бағытты есепке алу үстелдік компьютерлерде есептеу уақытын күрт арттыруға әкелетін. III принципке сүйенсек. III. Беттерден келетін жарық белгілі бір бағытта шашырауы керек, бұл кіріс жарықтың кіретін бағыты мен алынатын шығыс бағытының функциясы болып табылады. Каджия теңдеуі осы үш принциптің толық жиынтығы болып табылады, ал теңдеудің шешімін жуықтап табуға тырысатын жол іздеу оларды іске асыруда адал сақтайды. Каджия теңдеуінің назарында емес, оптиканың басқа да принциптері бар, сондықтан олар алгоритммен жиі қиын немесе дұрыс емес симуляцияланады. Жол іздеу үш принципке кірмейтін оптикалық құбылыстармен қиындыққа тап болады. Мысалы,

Жарқын, анық каустикалық эффектілер; сәулелену кеңістіктегі жарық тығыздығына пропорционалды. Бет астындағы шашырау; жоғарыда көрсетілген III принциптің бұзылуы. Хроматикалық аберрация, флуоресценция, иридесценция; жарық – жиіліктер спектрі.

Өнер көрсету

Жолды ізкестеуші бейнеден пиксельдерді үздіксіз үлгілейді. Сурет пікселге небары бірнеше, шамамен 100 үлгі алғаннан кейін таныла бастайды. Дегенмен, суреттің "жинақталуы" және шудың қанағаттанарлық деңгейге дейін азаюы үшін көптеген суреттерге шамамен 5000 үлгі, ал патологиялық жағдайларға одан да көп үлгілер қажет. Шу, әсіресе анимация үшін мәселелі, оларға әдетте қаланбайтын, кездейсоқ ұсақ нүктелерден тұратын "фильмдік түйіршік" сияқты сапа береді. Жолды ізкестеудегі басты өнімділік шектеуі – сәуленің жолын есептеудің күрделі геометриялық амалдары. Маңыздылықты үлгілеу – бұл сахна арқылы аз сәуле жіберуге бағытталған техника, бірақ беттік нүктедегі шығарылатын жарыққа дұрыс жақындасу. Бұл, жарық көп болатын бағыттарда көбірек сәулелер жіберу арқылы жүзеге асырылады. Егер белгілі бір бағыттағы сәулелердің тығыздығы сол бағыттағы үлестердің күшіне сәйкес келсе, нәтиже бірдей болады, бірақ іс жүзінде азырақ сәуле жіберілген. Маңыздылықты үлгілеу сәуле тығыздығын Ламберт косинусы заңымен және BRDF-термен сәйкестендіру үшін қолданылады. Метрополис жарық тасымалы аз үлгілермен шу деңгейі төмен суреттерді жасауға мүмкіндік береді. Бұл алгоритм жарық камера көретін бөлікке жету үшін екіұшты дәліздер немесе кішкентай тесіктер арқылы өтуі керек болатын көріністерде жылдам жинақталуға қол жеткізу үшін жасалған. Сонымен қатар, патологиялық жағдайларды, мысалы, каустикаларды дұрыс көрсетуде де үміттендіргіш. Кездейсоқ жолдарды жасаудың орнына, жаңа үлгілеу жолдары қолданыстағы жолдардың шағын өзгерістері ретінде құрылады. Осы тұрғыдан алғанда, алгоритм жарық көздерінен камераға дейінгі сәтті жолдарды "есінде сақтайды".

Скатерлік үлестіру функциялары

Беттердің шағылыстыру қасиеттері (мөлшері, бағыты және түсі) BRDF-тер арқылы модельделеді. Объекті арқылы өтетін жарық үшін эквиваленті BSDF болып табылады. Жолды іздеуші (path tracer) күрделі, мұқият модельделген немесе өлшенген тарату функцияларын толыққанды пайдалана алады, ол объектінің сыртқы көрінісін ("материал", "текстура" немесе компьютерлік графика терминдерінде "көлеңкелеу") басқарады.