Кіріспе
3D компьютерлік графикада көріну
3D компьютерлік графикада жасырын бетті анықтау (сондай-ақ көрсетілген бетті анықтау, жасырын бетті жою (HSR), окклюзияны іріктеу (OC) немесе көрінетін бетті анықтау (VSD)) – белгілі бір қарау бұрышынан қандай беттер мен беттердің бөліктерін көруге болатындығын анықтау процесі. Жасырын бетті анықтау алгоритмі – 3D компьютерлік графика саласындағы алғашқы маңызды проблемалардың бірі болған көріну мәселесінің шешімі. Жасырын бетті анықтау процесі кейде «жасыру» деп аталады, ал мұндай алгоритм кейде «жасырушы» деп аталады. Сызықты көрсету туралы сөз болғанда, ол жасырылған сызықты жою деп аталады. Жасырын бетті анықтау сахнаны дұрыс көрсету үшін қажет, сондықтан модельдің өзінің артында жасырылған элементтерді көруге болмайды, графиканың табиғи түрде көрінетін бөлігі ғана көрінуі керек.
Өмірбаян
Жасырын беттерді анықтау – пайдаланушыға көрінбеуі тиіс беттерді (мысалы, қабырғалар сияқты мөлдір емес объектілердің артында қалғандықтан) көрсетуден алдын ала тоқтату процесі. Аппараттық мүмкіндіктерге қарамастан, жетілдірілген рендерлеу алгоритмдерінің қажеттілігі әлі де бар. Рендеринг қозғалтқышының міндеті – кең әлем кеңістіктерін қамтамасыз ету, ал әлемнің мөлшері шексіздікке жақындаған сайын, қозғалтқыш баяуламауы керек, тұрақты жылдамдықта сақталуы тиіс. Бұл процесті оңтайландыру, пайдаланушыға көрсетілмейтін беттерді көрсету үшін мүмкіндігінше аз ресурстар жұмсауға байланысты. Жасырын беттерді анықтау үшін көптеген техникалар бар. Олар негізінен сұрыптаумен байланысты, әдетте сұрыптаудың тәртібі және мәселенің қалай бөлінетіні бойынша өзгешеліктер болады. Көптеген графикалық примитивтерді сұрыптау әдетте «бөліп-басқару» әдісі арқылы жүзеге асырылады.
Өшіру және көрінетін бетті анықтау
Көрінетін бетті анықтаумен (VSD) байланысты сала – іріктеу, ол әдетте рендерингтік құбыржолда VSD-ден бұрын жүзеге асырылады. Примитивтер немесе примитивтердің топтары толығымен қабылдануы мүмкін, бұл жақсы жобаланған жүйеде жүктемені азайтуға көмектеседі. Құбырдың басында іріктеудің артықшылығы – көзге көрінбейтін объектілерді әкеп, түрлендіруге, растрлеуге немесе көлеңкелеуге қатысты жұмыстарды орындау қажеттігінен құтылу болып табылады. Іріктеу алгоритмдерінің түрлері:
Көрініс-фрустумды іріктеу
Қарап тұру бұрышы – виртуалды камераға көрінетін көлемнің геометриялық бейнесі. Әрине, осы көлемнің сыртындағы нысандар соңғы суретте көрінбейді, сондықтан олар жойылды. Көбінесе нысандар қарап тұру бұрышының шекарасында орналасады. Мұндай нысандар «қию» деп аталатын процесте осы шекара бойымен бөліктерге бөлінеді, ал бұрыштан тыс қалған бөліктер оларды салуға орын болмағандықтан жойылды.
Артқы бетін іріктеу
3D нысандарда объектінің бір бөлігі камераға қарап тұрады, ал қалған бөлігі камерадан кері қарап тұрады, яғни объектінің арт жағында болады және алдыңғы жағы оны жабады. Егер объект толығымен жарық өткізбейтін болса, онда осы беттерді салудың қажеті жоқ. Олар төбелік орналасу ретімен анықталады: егер камераға қарағанда проекция жазықтығындағы үшбұрыштың төбелері сағат тілімен орналасса, онда бет камерадан бұрылғанда сағат тіліне қарсы ретке өтеді. Кездейсоқ түрде, бұл нысандарды камераның ішінде болғанда толығымен көрінбейтін етеді, себебі объектінің барлық беттері камерадан кері қарап тұрады және рендерлеушімен (renderer) жойлады. Мұны болдырмау үшін объект екі жақты етіп орнату керек (яғни артқы беттерді жою болмайды) немесе оның ішкі беттері бөлек болуы керек.
Салымның іріктелуі
Көбінесе, нысандар соншалықты алыс болады ki, олар түпкі суретке маңызды үлес қоспайды. Олардың экранға түсірілуі тым кішкентай болса, мұндай нысандар алынып тасталады. Клиппинг жазықтығын қараңыз.
Оклюзиялық іріктеу
Басқа мөлдір емес объектілердің толығымен артында қалған объектілер алынып тасталуы мүмкін. Бұл орташадан жоғары тереңдік күрделілігі бар үлкен көріністерді көрсету жылдамдығын арттыру үшін өте танымал механизм. Окклюзиялық іріктеудің бірнеше түрі бар: Потенциалды көрінетін жиын (PVS) рендерингі көріністі аймақтарға бөліп, олардың көрінуін алдын ала есептейді. Бұл көріну жиынтықтары жұмыс істеу кезінде жылдам түрде жоғары сапалы көріну жиынтықтарын алу үшін (күрделі тосқауылдардың өзара әрекеттесуін ескере отырып) индекстеледі. Порталдық рендеринг көріністі ұяшықтар/секторлар (бөлмелер) және порталдар (есіктер) деп бөліп, оларды порталдармен қиып, қай секторлардың көрінетінін анықтайды. Хансон Чжанның "Кез келген модельдерді интерактивті көрсету үшін тиімді окклюзияны жою" атты диссертациясы окклюзияны жою тәсілін сипаттайды.
Potentially visible set (PVS) rendering divides a scene into regions and pre computes visibility for them. These visibility sets are then indexed at run time to obtain high quality visibility sets (accounting for complex occluder interactions) quickly. Portal rendering divides a scene into cells/sectors (rooms) and portals (doors), and computes which sectors are visible by clipping them against portals. Hansong Zhang's dissertation "Effective Occlusion Culling for the Interactive Display of Arbitrary Models" describes an occlusion culling approach.
Бөлініп , билік ет
VSD әдебиетінде жиі кездесетін тақырып – «бөл және басқар». Уорнок алгоритмі экранды бөлуді алғаш рет енгізді. Сәулелерді іздеу – көзге көрінетін көлемді сәулелерге бөліп қарастыратын сәулелерді іздеу әдісі. Әртүрлі экран кеңістігін бөлу тәсілдері әр аймақ үшін қарастырылатын примитивтер санын азайтады, мысалы, плиткалау немесе экран кеңістігіндегі BSP кесу. Плиткалау басқа техникаларға алдын ала өңдеу ретінде қолданылуы мүмкін. Z-буферлік аппараттық құралдарына көбінесе жалпырақ «hi Z» кіреді, оған қарсы примитивтерді растерлеусіз ертерек қабылдамауға болады, бұл окклюзиялық іріктеудің бір түрі. Шекаралық көлем иерархиялары (BVH) көбінесе сахна кеңістігін бөлу үшін қолданылады (мысалы, BSP ағашы, октаағаш және kd ағашы). Бұл көрінуді анықтауды иерархиялық түрде жүргізуге мүмкіндік береді: егер ағаштағы түйін көрінбейтін болып есептелсе, онда оның барлық дочер түйіндері де көрінбейді және одан әрі өңдеу қажет емес (олардың барлығын рендер қабылдамайды). Егер түйін көрінетін болып есептелсе, онда оның әрбір дочер түйінін бағалау қажет. Бұл өту тиімді түрде ағаш бойымен жүруге татылады, мұнда көрінбеушілік/окклюзия немесе жапырақ түйініне жету тоқтатуды немесе қайталануды анықтайды.