Кіріспе
Диффузиялық шағылысты қолданатын компьютерлік графиканың рендеринг әдісі. 3D компьютерлік графикада радиоздық – жарықты диффузиялық түрде шағылыстыратын беттердегі көріністердің рендеринг теңдеуін шешу үшін шекті элемент әдісін қолдану. Монте-Карло алгоритмдерін (мысалы, сәулелерді іздеу) қолданатын, барлық жарық жолдарын қамтитын рендеринг әдістерінен айырмашылығы, әдеттегі радиоздық тек жарық көзінен шығып, көзге тиетін алдында бірнеше рет (немесе еш рет те) диффузиялық түрде шағылысатын жолдарды ("LD*E" кодымен көрсетілген) ғана есепке алады. Радиоздық – жаһандық жарықтандыру алгоритмі, яғни бетке келетін жарықтандыру тікелей жарық көздерінен ғана емес, сонымен қатар жарықты шағылыстыратын басқа беттерден де келеді. Радиоздық көру бұрышына тәуелсіз, бұл есептеулерді күрделендіреді, бірақ оны кез келген көру бұрышы үшін пайдалы етеді. Радиоздық әдістер алғаш рет 1950 жылы жылу алмасудың инженерлік саласында әзірленді. Кейіннен 1984 жылы Корнелл және Хиросима университеттерінің зерттеушілері оларды компьютерлік графиканы көрсету мәселесі үшін арнайы жетілдірді. Белгілі коммерциялық радиоздық қозғалтқыштары: Geomerics компаниясының Enlighten (Battlefield 3 және Need for Speed: The Run сияқты ойындарда қолданылады); 3ds Max; form•Z; LightWave 3D және Electric Image Animation System.
In 3D computer graphics, radiosity is an application of the finite element method to solving the rendering equation for scenes with surfaces that reflect light diffusely. Unlike rendering methods that use Monte Carlo algorithms (such as path tracing), which handle all types of light paths, typical radiosity only account for paths (represented by the code "LD*E") which leave a light source and are reflected diffusely some number of times (possibly zero) before hitting the eye. Radiosity is a global illumination algorithm in the sense that the illumination arriving on a surface comes not just directly from the light sources, but also from other surfaces reflecting light. Radiosity is viewpoint independent, which increases the calculations involved, but makes them useful for all viewpoints. Radiosity methods were first developed in about 1950 in the engineering field of heat transfer. They were later refined specifically for the problem of rendering computer graphics in 1984 by researchers at Cornell University and Hiroshima University. Notable commercial radiosity engines are Enlighten by Geomerics (used for games including Battlefield 3 and Need for Speed: The Run); 3ds Max; form•Z; LightWave 3D and the Electric Image Animation System.
Көрнекілік сипаттамалары
Рендеринг процесіне радиоздық есептеулерді қосу көбінесе аяқталған көрініске шынайылықтың қосымша элементін береді, өйткені ол нақты әлемдегі құбылыстарды дәл еліктейді. Мысалы, қарапайым бөлме көрінісін қарастырайық. Сол жақтағы сурет әдеттегі тікелей жарықтандырумен көрсетілген. Бұл көріністе үш түрлі жарықтандыру бар, оларды суретші шынайы жарық беру үшін әдейі таңдап орналастырған: көлеңкелі нүктелік жарықтандыру (терезеден тысқары орналастырылып, еденге жарық түсіру үшін), қоршаған ортаны жарықтандыру (егер жарық көзі тікелей түспесе, бөлменің кез келген бөлігі толығымен қараңғы болар еді) және көлеңкесіз көп бағытты жарықтандыру (қоршаған ортаның жарығының тегістігін азайту үшін). Оң жақтағы сурет радиоздық алгоритммен көрсетілген. Жарық көзі тек біреу ғана: терезеден тысқары орналасқан аспан суреті. Айырмашылық айқын байқалады. Бөлме жарықпен толынып, жарқырайды. Еденде жұмсақ көлеңкелер көрінеді және бөлменің ішінде көзге түсетін жарық эффектілері байқалады. Сонымен қатар, кілемнің қызыл түсі сұр қабырғаларға сіңіп, оларды сәл жылырақ етіп көрсетеді. Бұл эффекттердің ешқайсысын суретші әдейі таңдаған немесе жобалаған жоқ.
Радиоздық алгоритмінің жалпы көрінісі
Рендарын жасалатын сахнаның беттері әрқайсысы бір немесе бірнеше кішірек беттерге (пачтарға) бөлінеді. Әрбір пачтар жұбы үшін көрініс коэффициенті (форма коэффициенті деп те аталады) есептеледі; бұл коэффициент пачтардың бір-бірін қаншалықты жақсы көретінін сипаттайды. Бір-бірінен алыс орналасқан немесе бір-біріне қатысты көлбеу бұрыштарда орналасқан пачтардың көрініс коэффициенттері кішірек болады. Егер басқа пачтар көру сызығын кессе, көрініс коэффициенті жабылудың толық немесе ішінара болуына байланысты азаяды немесе нөлге тең болады. Көрініс коэффициенттері рендеринг теңдеулерінің сызықтық жүйесінде коэффициенттер ретінде қолданылады. Бұл жүйені шешу әр пачтың сәулеленуін немесе жарықтығын анықтайды, диффузиялық өзара шағылысулар мен жұмсақ көлеңкелерді ескере отырып. Прогрессивті сәулелену жүйені итеративті түрде шешеді, пачтар үшін аралық сәулелену мәндерін қолданады, бұл шағылысу деңгейлеріне сәйкес келеді. Яғни, әр итерациядан кейін сахна бір рет шағылысқаннан кейін, екі рет өткеннен кейін екі рет шағылысқаннан кейін және т.б. қалай көрінетінін білеміз. Бұл сахнаның интерактивті алдын ала қарауын алуға көмектеседі. Сонымен қатар, пайдаланушы есептеудің сандық тұрақтануын күтудің орнына, сурет жеткілікті жақсы көрінген кезде итерацияларды тоқтатуға болады. Сәулелену теңдеуін шешудің тағы бір әдеттегі әдісі – "сәулеленуді ату", ол әр қадамда ең көп энергияға ие пачтан жарықты "ату" арқылы сәулелену теңдеуін итеративті түрде шешеді. Бірінші өтуден кейін тек жарық шығаратын пачқа тікелей көрінетін пачтар ғана жарықтандырылады. Екінші өтуден кейін, жарық сахнада шағылысып, тарала бастағанда, көбірек пачтар жарықтандырылады. Сахна жарықтана береді және ақырында тұрақты күйге жетеді.
on whether the occlusion is partial or total. The view factors are used as coefficients in a linear system of rendering equations. Solving this system yields the radiosity, or brightness, of each patch, taking into account diffuse interreflections and soft shadows. Progressive radiosity solves the system iteratively with intermediate radiosity values for the patch, corresponding to bounce levels. That is, after each iteration, we know how the scene looks after one light bounce, after two passes, two bounces, and so forth. This is useful for getting an interactive preview of the scene. Also, the user can stop the iterations once the image looks good enough, rather than wait for the computation to numerically converge. Another common method for solving the radiosity equation is "shooting radiosity," which iteratively solves the radiosity equation by "shooting" light from the patch with the most energy at each step. After the first pass, only those patches which are in direct line of sight of a light emitting patch will be illuminated. After the second pass, more patches will become illuminated as the light begins to bounce around the scene. The scene continues to grow brighter and eventually reaches a steady state.
Сынама алу тәсілдері
Fij форма факторлары шындығында екі жаңарту теңдеуінің ешқайсысында тікелей қажет емес; толық көріністен жиналған Σj Fij Bj жалпы интенсивтілігін бағалау үшін де, сәулеленетін Aj Bj қуатының қалай таратылатынын бағалау үшін де қажет емес. Оның орнына, осы жаңартуларды үлгілеу әдістерімен бағалауға болады, форма факторларын тікелей есептеудің қажеті жоқ. 1990 жылдардың ортасынан бері мұндай үлгілеу тәсілдері практикалық радиозность есептеулерінде ең көп қолданылатын әдіс болып табылады. Жиналған интенсивтілікті бірлік шеңберде үлгілер жиынтығын жасап, оларды жарты шарға көтеріп, содан кейін сол бағытта келіп түскен сәуле қай элементтен шыққан екенін анықтау арқылы бағалауға болады. Жиналған жалпы интенсивтілік шамасы әрбір сәулемен анықталған радиозностьтердің орташа мәнін құрайды. Сол сияқты, қуат формуласында қуатты сәулеленуші элементтен бірдей тәсілмен сәулелер жиынтығын шығарып, сәуле тиген әрбір элемент арасында тең бөлінетін қуатты тарату арқылы таратуға болады. Бұл, негізінен, жол табу бағдарламасының бір реттік шашыраңқы шағылысты кері бағытта іздеу үшін қолданатын үлгісімен бірдей; немесе екі бағытты сәуле табу бағдарламасының жарық көзін алға қарай бейнелеу кезінде бір реттік шашыраңқы шағылысты алға қарай іздеу үшін қолданатын үлгісімен бірдей. Сондықтан, үлгілеу тәсілі белгілі бір дәрежеде екі техниканың арасындағы сәйкестікті білдіреді, ең басты айырмашылық радиозность техникасының қазіргі көріністі бейнелеуден гөрі, сахнадағы барлық беттердің сәулеленуінің жеткілікті дәл картасын құруға бағытталғандығында.
Есептеу уақытын қысқарту
Радиоситтілік негізгі түрінде қосымша геометриямен (беттер мен жапсырмалар) есептеу уақыты квадраттық түрде ұлғаяды деп есептелгенімен, бұл міндетті емес. Радиоситтілік мәселесін текстураланған көріністі көрсету мәселесі ретінде қарастыруға болады. Бұл жағдайда есептеу уақыты жапсырмалар санына пропорционал, яғни сызықтық түрде ғана өседі (кеш пайдалану сияқты күрделі мәселелерді ескермегенде). Радиоситтілік арқылы жасалған бейнелерге коммерциялық қызығушылық пайда болғаннан кейін, бірақ оның жылдам есептелуі стандартизацияланбас бұрын, көптеген сәулетшілер мен графикалық суретшілер «жалған радиоситтілік» деп аталатын әдіс қолданды. Текстура карталарындағы бұрыштарға, қосылыстарға және ойықтарға сәйкес келетін аймақтарды қараңғылату және оларды өздігінен жарықтандыру немесе диффузиялық карталау арқылы қолдану арқылы, стандартты сканлайнды рендермен радиоситтілік сияқты жапсырмалардың өзара әрекеттесу эффектын жасауға болады (мысалы, қоршаған ортаны көлеңкелеу). Алдын ала есептелген, статикалық радиоситтілікті қазіргі үстелдік компьютерлерде стандартты графикалық үдеткіштері бар Lightmaps арқылы нақты уақытта көрсетуге болады.
Артықшылықтар
Радиосити алгоритмінің бір артықшылығы – оны түсіндіру және іске асыру салыстырмалы түрде оңай. Бұл оны студенттерге жаһандық жарықтандыру алгоритмдерін оқыту үшін пайдалы етеді. Кәдімгі тікелей жарықтандыруды көрсету құралы (renderer) радиоситиді іске асыру үшін қажетті алгоритмдердің (перспективалық түрлендірулер, текстуралық бейнелеу, көрінбейтін беттерді жою) көбін қамтиды. Осы алгоритмді түсіну немесе іске асыру үшін математиканы жақсы білудің қажеті жоқ.
Шектеулер
Радиосиметрияның стандартты әдістері тек LD*E нысанындағы жарық жолдарын ғана ескереді, яғни жарық көзінен басталып, көзге жетер алдында бірнеше диффузды шағылыстардан өтетін жолдар. Көкжиекті және жылтыр шағылыстар сияқты басқа жарықтандыру эффекттерін қосудың әртүрлі тәсілдері болғанымен, радиосиметрияға негіделген әдістер көбінесе толық рендеринг теңдеуін шешу үшін қолданылмайды. Базалық радиосиметрия көрінудегі кенеттен болатын өзгерістерді (мысалы, қатаң шекаралы көлеңкелерді) анықтауда қиындық тудырады, себебі кеңістіктік доменнің төмен өткізгіш сүзгісіне ұқсас, ірі, біркелкі дискреттеу үздіксіз тұрақты элементтерге сәйкес келеді. Үзіліссіз тор көріну оқиғалары туралы ақпаратты пайдаланып, тиімді дискреттеуді жүзеге асырады.
Терминологияға қатысты түсініксіздіктер
Радиоситет, мүмкін, диффузды жанама жарықтандыруды есепке алатын, кеңінен қолданылған алғашқы рендерлеу алгоритмі болды. Алдыңғы рендерлеу алгоритмдері, мысалы, Уиттед стиліндегі сәулелерді іздеу, шағылыстар, сынулар және көлеңкелер сияқты эффекттерді есептеуге қабілетті болды, бірақ олар өте жаһандық құбылыстар болғанына қарамастан, бұл эффекттер көбінесе "жаһандық жарықтандыру" деп аталмады. Осының салдарынан, "диффузиялық өзара шағылысу" және "радиоситет" терминдері халық арасында "жаһандық жарықтандыру" терминімен шатастырылды. Дегенмен, бұл үш ұғымның өзі ерекшеленеді. Компьютерлік графикадағы радиоситет әдісі, жылу алмасудағы радиоситет әдісінен туындайды (және негізінен осымен бірдей). Бұл контексте, радиоситет – беттен шығатын жалпы сәулелену ағыны (шағылысқан және қайта сәулеленген); бұл кейде сәуле шығару күші деп те аталады. Радиоситетті есептеу, беттік температураны емес, радиоситет әдісінің маңызды аспектісі болып табылады, бұл сызықтық матрицалық әдістерді мәселеге қолдануға мүмкіндік береді.