Кіріспе

Компьютерлік графикада қоршаған ортаны карталау әдісі

Компьютерлік графикада куб карталау – карта пішіні ретінде кубтың алты жағын пайдаланатын қоршаған ортаны карталау әдісі. Қоршаған орта кубтың қабырғаларына проекцияланып, алты шаршы текстура түрінде сақталады немесе бір текстураның алты бөлігіне жайылады. Куб картасы алдымен көзқарас нүктесінен сахнаны алты рет рендерлеу арқылы жасалады, көрініс фрустумы әрбір куб жағын бейнелейтін 90 градусқа тең болады. Немесе егер қоршаған орта алдымен сфераға проекцияланған деп есептелсе, онда кубтың әр жағы сфераның гномондық проекциясы болып табылады. Көп жағдайда куб карталау шар карталаудан артық көрінеді, себебі ол шар карталауға тән бейне бұрмалануы, көзқарасқа тәуелділік және есептеу тиімсіздігі сияқты көптеген проблемаларды жояды. Сонымен қатар, куб карталау шар карталауға қарағанда рефлексияны нақты уақыт режимінде көрсетуге қабілеттілігі жоғары, себебі тиімсіздік пен көзқарасқа тәуелділік шар карталаудың тұрақты өзгеріп отыратын көзқарас нүктесінде қолданылуын шектейді. Куб карталаудың түрлері 360 градустық бейне проекциясында да жиі қолданылады.

Тарих

Кюб картасын алғаш рет 1986 жылы Нед Грин "Қоршаған ортаны карталау және әлемдік проекциялардың басқа да қолданбалары" атты мақаласында ұсынды, бұл Джим Блинн мен Мартин Ньюэлл қоршаған ортаны карталауды алғаш ұсынғаннан кейін он жыл өткен соң болды. Дегенмен, бір мезгілде алты текстуралық суретке қолжетімділікке қатысты аппараттық шектеулер, одан әрі технологиялық жетістіктерсіз кюб картасын іске асыруды қиын етті. Бұл мәселе 1999 жылы Nvidia GeForce 256 құрылғысының шығуымен шешілді. Nvidia аппараттық құралдағы кюб картасын GeForce 256-ның революциялық бейне сапасының мүмкіндігі ретінде жариялады, бұл дамытушыларға дәл, нақты уақыт режимінде шағылыстар жасауға мүмкіндік береді. Аппараттық құралда жеделдетілген кюб орта картасы дамытушылардың шығармашылығын шағылыстар мен специкулярлық жарық эффекттерін пайдаланып, қызықты және әсерлі орта құруға бағыттайды. Бүгінде кюб картасы әртүрлі графикалық қолданбаларда қоршаған ортаны карталаудың танымал әдісі ретінде қолданылуда.

Артықшылықтар

Куб картасын жасау, қоршаған ортаны карталаудың басқа әдістеріне қарағанда, оның салыстырмалы қарапайымдылығы себепті артықшылыққа ие. Сонымен қатар, куб картасы сәулелерді іздеу арқылы алынған нәтижелерге ұқсас нәтижелер береді, бірақ есептеулер жағынан әлдеқайда тиімді. Сапаның шамалы төмендеуі тиімділіктің үлкен артықшылықтарымен өтеледі. Куб картасын жасаудан бұрын, шар картасының көптеген ішкі кемшіліктері болды, олар оны көптеген қолданбалар үшін тиімсіз етті. Шар карталау көру бұрышына тәуелді, яғни әр көру бұрышы үшін әртүрлі текстура қажет. Сондықтан, көру бұрышы өзгеріп отыратын қолданбаларда, әр жаңа көру бұрышы үшін шар картасын динамикалық түрде жасау қажет (немесе әр көру бұрышы үшін картаны алдын ала жасау қажет). Сонымен қатар, шардың бетіне карталанған текстура созылуы және қысылуы керек, ал бұрылыстар мен бұрмаланулар (әсіресе шардың жиегі бойымен) – осының тікелей салдары. Бұл кескіннің кемшіліктерін «алдын ала созу» сияқты белгілі бір тәсілдер мен әдістерді қолдану арқылы азайтуға болады, бірақ бұл шар картасына күрделіліктің тағы бір деңгейін қосады. Параболоидты карталау шар карталаудың шектеулерін жақсартады, алайда оған екі рет рендеринг қажет, сондай-ақ арнайы бейнелерді бұрмалау операциялары мен күрделі есептеулер де қажет. Керісінше, куб картасына тек бір рет рендеринг жеткілікті, және оның қарапайым табиғатынан әзірлеушілерге түсіну және жасау өте оңай. Сонымен қатар, куб картасы шар және параболоидты карталармен салыстырғанда текстуралық кескіннің толық ажыратымдылығын пайдаланады, бұл сондай-ақ бірдей сапаға қол жеткізу үшін төменгі ажыратымдылықтағы кескіндерді пайдалануға мүмкіндік береді. Куб картасының тігістерін өңдеу мәселелі болғанымен, тігіс мінез-құлқын басқару және біркелкі бейнелеу үшін алгоритмдер әзірленді.

Кемшіліктер

Егер жаңа нысан немесе жаңа жарық сахнаға енгізілсе, немесе ондағы көрініс тапқан нысан қозғалса немесе қандай да бір өзгеріске ұшыраса, онда көлеңке өзгеріп, куб картасы қайтадан көрсетілуі керек. Егер куб картасы сахнада қозғалатын нысанға бекітілсе, онда ол жаңа позициядан да қайтадан көрсетілуі тиіс.

Тұрақты спекулярлық жарықтар

Компьютерлік көмекпен жобалау (CAD) бағдарламалары 3D нысандарды рендерингтегенде беттің қисықтығын көрсету үшін көкжиекті жарықтарды визуалды белгі ретінде пайдаланады. Дегенмен, көптеген CAD бағдарламалары көкжиекті жарықтарды іріктеуде қиындықтарға тап болады, себебі көкжиекті жарық есептеулері объектіні бейнелеу үшін қолданылатын тордың төбелерінде ғана жүзеге асырылады, ал бетіндегі жарықты бағалау үшін интерполяция қолданылады. Егер тордың төбелері жеткілікті тығыз болмаса, көкжиекті жарықтандырудың толыққанды үлгісі алынбайды. Бұл өз кезегінде тордың төбелерінен қашықтығына пропорционалды жарықтығы бар көкжиекті жарықтарға әкеліп соғады, нәтижесінде қисықтықты көрсететін визуалды белгілердің дұрыстығы төмендейді. Өкінішке орай, бұл мәселені тек торды тығыздау арқылы шешу мүмкін емес, өйткені бұл объектіні рендерингтеу тиімділігін айтарлықтай төмендетеді. Кюб карталары тұрақты көкжиекті жарықтарды рендерингтеу үшін қарапайым және тиімді шешім ұсынады. Көптеген көкжиекті жарықтарды кюб картасының текстурасына енгізуге болады, содан кейін беттің шағылысу векторы бойынша интерполяциялау арқылы координаттарды алуға болады. Жеке төбелерде жарықтандыруды есептеумен салыстырғанда, бұл әдіс қисықтықты дәлірек көрсететін таза нәтижелер береді. Бұл әдістің тағы бір артықшылығы – оның жақсы масштабталу қабілеті, себебі қосымша көкжиекті жарықтарды рендеринг құнын арттырмай текстураға енгізуге болады. Алайда, бұл тәсілдің шектеуі бар: жарық көздері алыс немесе шексіз болуы керек, бірақ қауқаптыққа орай, бұл көбінесе CAD бағдарламаларында осылай болады.

Skybox-тар

Текше картасының ең жетілген қолданылуы, әлдебір алдын ала көрсетілген панорамалық аспан суреттерін жасау болар, олар кейін графикалық жүйеде текшенің беттері ретінде, практикалық түрде шексіз қашықтықта, текшенің ортасында орналасқан қарау нүктесімен көрсетіледі. Графикалық жүйе арқылы жасалған текше беттерінің перспективалық проекциясы, текше картасын жасау үшін ортаны проекциялаудың әсерін жояды, соның салдарынан көрермен өзін аспан қорабын (skybox) жасау үшін пайдаланылған көрініспен қоршалғандай сезінеді. Бұл техника бейне ойындарда кеңінен қолданыс тапты, себебі ол дизайнерлерге ойынға күрделі (бірақ зерттеуге болмайтын) ортаны, дерлік ешқандай өнімділік шығындарына соқтырмай қосуға мүмкіндік береді.

Шатырдың жарықтандыруы

Кюб карталары сыртқы жарықтандыруды дәл модельдеуге көмектеседі. Күн сәулесін бір ғана шексіз жарық ретінде қарастыру сыртқы жарықтандыруды әлдеқайда қарапайымдап, шынайы емес жарықтандыруға әкеп соқтырады. Күннен көп жарық келгенімен, атмосферадағы сәулелердің шашырауы бүкіл аспанды жарық көзі ретінде әрекет етеді (әдетте аспан жарығы деп аталады). Бірақ, кюб картаны пайдалану арқылы аспан жарығынан келетін диффузиялық жарықтың үлесін анықтауға болады. Қоршаған орта карталарынан өзгеше, онда шағылыс векторы қолданылады, бұл әдіс беттік нормаль векторына сүйене отырып кюб картаға қол жеткізеді, аспан жарығынан келетін диффузиялық жарықтың жылдам шамасын қамтамасыз етеді. Бұл әдістің бір кемшілігі – аспан жарығын дұрыс бейнелеу үшін кюб карталарды есептеу өте күрделі; соңғы процестердің бірі – кюб картадан төмен жиілікті диффузиялық жарықты ең жақсы көрсететін сфералық гармоникалық негізді есептеу. Дегенмен, аспан жарығын тиімді модельдеу үшін көптеген зерттеулер жүргізілді.

Динамикалық шағылысу

Негізгі ортаны карталау статикалық куб картасын пайдаланады, бірақ объекті жылжытылып немесе бұрмаланса да, шағылысқан орта тұрақты болып қалады. Дегенмен, куб картасының текстурасы динамикалық түрде өзгеретін ортаны көрсету үшін үнемі жаңартылуы мүмкін (мысалы, желде қозғалған ағаштар). Динамикалық шағылыстарды жасаудың қарапайым, бірақ қымбат жолы – әр кадр үшін орындалу барысында куб карталарын құру. Бұл қосымша рендеринг қадамдары болғандықтан статикалық карталаудан әлдеқайда тиімсіз болғанымен, оны интерактивті жылдамдықпен орындауға болады. Алайда, мұндай әдіс бірнеше шағылыстыратын объектілер болғанда тиімді болып көрінбейді. Әдетте, әрбір шағылыстыратын объекті үшін жеке динамикалық орта картасы қажет. Егер шағылыстыратын объектілер бір-бірін шағылыстыра алса, бұл қиындықтарды күшейте түседі. Динамикалық куб карталары сәулелерді іздеу арқылы алынатын әсерлерге ұқсас рекурсивті түрде жасалуы мүмкін.

Жалпы жарықтандыру

2002 жылы ICCVG конференциясында куб картасы дерек құрылымын қолдана отырып, интерактивті жылдамдықпен жаһандық жарықтандыруды есептеу алгоритмі таныстырылды.

Жобалау текстуралары

Видеоойындарда кеңінен қолданылған тағы бір мүмкіндік – проекциялық текстуралық бейнелеу. Ол қоршаған ортаның бейнелерін айналағы көрініске проекциялау үшін куб карталарын пайдаланады; мысалы, нүктелік жарық көзі куб картасына байланыстырылады, ол фонарь қоршауының ішінде немесе жарық сүзгіленетін терезе жақтауы арқылы түсірілген панорамалық сурет болып табылады. Бұл ойын жасаушыға көрініс геометриясын күрделілендірмей немесе қымбат нақты уақыт көлеңке көлемін есептемей-ақ нақты жарықтандыруға қол жеткізуге мүмкіндік береді.