Відсікання (англ. clipping), у комп'ютерній графіці, є способом для вибіркового включення, або відключення операцій рендерингу в межах визначеної області інтересу. З точки зору математики, відсікання може бути описане у термінах конструктивної геометрії. Алгоритм рендерингу малює лише ті пікселі, які потрапляють у поле зору спостерігача. Лінії та поверхні за межами об'єму видимості видаляються.
Відсікання використовується для підвищення швидкодії рендерингу. Вдало обране відсікання дозволяє процесу рендерингу заощадити час і обчислювальні потужності шляхом пропуску розрахунку пікселів, яких не видимі для користувача. Про пікселі, що будуть зображені, кажуть, що вони знаходяться в межах області відсікання. Про пікселі, що не будуть намальовані або розташовані за межами області видимості, кажуть, що вони «відсічені».
Відсікання в 2D графіці
У двовимірній графіці область відсікання може бути визначено таким чином, що відображатимуться пікселі лише в межах вікна або кадру. Області відсікання також можуть застосовуватися для вибіркового контролю рендерингу пікселів задля естетичних або художніх цілей. У багатьох реалізаціях фінальна область відсічення — це композиція (або перетин) однієї або декількох визначених додатком фігур, або будь-яким обмеженням апаратного забезпечення.
Як приклад застосунку, розглянемо програму для редагування зображень. Застосунок користувача може виконати рендеринг зображення у вікно перегляду. Коли користувач використовує масштабування і прокрутку для перегляду частини зображення, застосунок встановлювати межі відсікання так, що пікселі поза областю видимості оброблятися не будуть. Крім того, віджети з графічним інтерфейсом можуть накладатись, і віконний інтерфейс може приховати деякі пікселі початкового зображення. У цьому сенсі, область відсікання є композицією області відсікання визначеної користувачем і області відсікання визначеної пристроєм, що втілюється програмним забезпеченням і апаратною реалізацією системи. Застосунок може скористатися інформацією про відсікання, щоб скоротити час розрахунку сцени, зберегти обчислювальні ресурси та пам'ять, уникаючи розрахунку пікселів, які знаходяться поза областю видимості.
Відсікання у 3D графіці
У тривимірній графіці термін «відсікання» може використовуватись для опису багатьох пов'язаних між собою функцій. Зазвичай, «відсікання» належить до операцій на площині, які працюють з прямокутними формами, а «відкидання» відноситься до більш загальних методів відбору елементів сцени. Ця термінологія не є чітко визначеною, тому точне використання може відрізнятись у різних джерелах.
Елементи моделі сцени містять у собі геометричні примітиви: точки, або вершини; відрізки лінії, або ребра; полігони, або грані; і більш абстрактні об'єкти, такі як криві, сплайни, поверхні й навіть текст. У складних моделях сцен, окремі елементи можуть бути вибірково відключені (відсічені) з деяких причин, серед яких — видимість в межах області перегляду ([en]), орієнтація (визначення [en]), затемнення іншими сценами або елементами моделей ((оклюзії вибраковування), відсікання у глибину). Існують складні алгоритми для ефективного виявлення і виконання відсікання. Багато оптимізованих методів відсікання покладаються на конкретну логіку апаратного прискорення, яку забезпечує графічний процесор (GPU).
Поняття відсікання може бути розширене до більшої розмірності за допомогою методів абстрактної алгебраїчної геометрії.
Ближнє відсікання
Окрім проєкції вершин та 2D-відсікання, для коректної растеризації тривимірних примітивів потрібне ближнє відсікання. Це пов'язано із тим, що вершини, можуть проектуватися за областю видимості. Ближнє відсікання гарантує, що всі використані вершини мають дійсні 2D координати. Разом із глибинним відсіканням ближнє відсікання також допомагає запобігти переповненню значень буфера глибини. Деякі апаратні засоби раннього відображення текстур (із використанням прямого відображення текстур) у відеоіграх страждали від ускладнень, пов'язаних із близьким відсіканням та УФ-координатами.
Оклюзивне відсікання (Z— або глибинне відсікання)
У 3D комп'ютерній графіці, «Z» часто належить до осі глибини в системі координат системі координат з центром у початку координат вікна перегляду: «Z» використовується взаємозамінно з «глибиною», і концептуально відповідає відстані до «віртуального екрана». У цій системі координат «X» і «Y» відносяться до звичайної декартової системи координат, створеної на екрані користувача, або у вікні перегляду. Ця область перегляду визначається геометрією піраміди огляду, і параметризує поле зору.
Z-відсікання, або глибинне відсікання, належить до методів, які вибірково відображають певні об'єкти сцени на основі їх глибини щодо екрана. Більшість графічних інструментів дозволяють розробнику вказати глибину сцени: «поблизу» чи «далеко». І відображатимуться лише частини об'єктів між цими двома площинами. Розробник додатків може використовувати цей метод для візуалізації інтер'єру тривимірного об'єкта на сцені. Наприклад, медична візуалізація може використовувати цей метод для відображення органів всередині людського тіла. При розробці відеоігор інформація про відсікання може бути використана для прискорення логіки гри. Наприклад, висока стіна або будівля, що закриває інші ігрові сутності, може заощадити час графічного процесора, який інакше витрачався б на трансформацію та текстурування предметів у тильних областях сцени. Програма орієнтована на максимальну продуктивність може використовувати ту саму інформацію про відсікання, щоб заощадити час процесора, оптимізуючи ігрову логіку для об'єктів, які гравець не бачить.
Важливість відсікання у відео іграх
Вибір надійної стратегії відсікання має важливу роль при розробці відеоігор, щоб максимізувати частоту кадрів і якість зображення. Незважаючи на чіпи графічного процесора, які з кожним роком стають тільки швидшими, перетворення, текстурування і затінення полігонів сцени залишається обчислювально дорогим, особливо завдяки множинним текстурам та ефектам затінень, які є поширеними сьогодні. Отже, розробники відеоігор повинні працювати в межах певного «бюджету» з багатокутників, які можна відтворити для кожного відеокадру.
Для максимізації візуальної складової гри, розробники надають перевагу естетичній складовій, а не апаратному обмеженню на кількість полігонів. Оптимізація, дозволяє покращити продуктивність, та скористатися перевагами прискорення графічного процесора, який покращує дії гравця.
Оптимізація відсікання може пришвидшити візуалізацію поточної сцени, економлячи використання часу і пам'яті для візуалізації в межах можливостей апаратного забезпечення. Програмісти часто розробляють розумні евристичні алгоритми, щоб пришвидшити процес відсікання, оскільки іноді обчислювально заборонено використовувати трасування прямими, або трасування променів, щоб зі 100 % точністю визначити, які полігони не знаходяться в полі зору камери. Структури даних, такі як дерево октантів, R*-дерева та ієрархії обмежувальних об'єктів можуть бути використані для розділення сцени на відтворені та не відтворені області (дозволяючи засобу відтворення відхиляти, або приймати цілі вузли дерев, де це доречно).
Оптимізація оклюзії з точки зору геометрії може призвести до появи артефактів, якщо сцена містить поверхні, що відбивають світло. Поширеним методом є [en], який може додатково використовувати наявні оцінки оклюзії для поточної піраміди огляду, або, якщо продуктивність графічного процесора дозволяє, є метод розрахунку нової карти оклюзії з окремого положення камери.
З історичних причин деякі відеоігри використовували алгоритм виявлення зіткнень з однаковою логікою та апаратним прискоренням як тест на оклюзію. Як результат, неспеціалісти неправильно вживали термін «кліп» (та його антонім [en]») для позначення виявлення зіткнень.
Алгоритми
- Алгоритми відсікання ліній:
- Коена-Сазерленда
- Ліанга–Барського
- (Швидке відсікання)
- Кіруса — Бека
- [en]
- (Скала)
- (O(lg N) алгоритм)
- Алгоритми відсікання полігонів:
- [en]
- [en]
- [en]
- [en]
- Техніки рендерингу
Див. також
- Булеві операції над многокутниками
- Bounding Box
- [en]
- Ефект туману
- [en]
- [en]
- [en]
- Видимість (геометрія)
Додаткова література
- GPU Gems: Efficient Occlusion Culling
- Відсікання у Java AWT: java.awt.Graphics.clipRect JavaDoc [ 5 вересня 2015 у Wayback Machine.]
- Відсікання у UIKit for iOS (2D): UIRectClip [ 10 березня 2016 у Wayback Machine.]
- Відсікання у SceneKit for iOS (3D): SCNCamera (Adjusting Camera Perspective) [ 17 жовтня 2015 у Wayback Machine.]
- Відсікання у OpenGL: OpenGL Technical FAQs: Clipping, Culling, and Visibility Testing [ 4 березня 2016 у Wayback Machine.]
Примітки
- Bertoline, Gary; Wiebe, Eric (2002). Fundamentals of Graphics Communication (вид. 3rd). McGraw-Hill. с. G-3. ISBN . Процитовано 4 січня 2015.
- . Oracle. 2014. Архів оригіналу за 5 вересня 2015. Процитовано 24 жовтня 2015.
- Sekulic, Dean (2004). Efficient Occlusion Culling. . Pearson. Архів оригіналу за 5 червня 2013. Процитовано 2 січня 2015.
- Sekulic, Dean (2004). Efficient Occlusion Culling. . Pearson. Архів оригіналу за 5 червня 2013. Процитовано 2 січня 2015.
- Sekulic, Dean (2004). . GPU Gems. Pearson. Архів оригіналу за 5 червня 2013. Процитовано 2 січня 2015.
- Paul Martz (2001). . OpenGL.org. Архів оригіналу за 4 березня 2016. Процитовано 2 січня 2015.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vidsikannya angl clipping u komp yuternij grafici ye sposobom dlya vibirkovogo vklyuchennya abo vidklyuchennya operacij renderingu v mezhah viznachenoyi oblasti interesu Z tochki zoru matematiki vidsikannya mozhe buti opisane u terminah konstruktivnoyi geometriyi Algoritm renderingu malyuye lishe ti pikseli yaki potraplyayut u pole zoru sposterigacha Liniyi ta poverhni za mezhami ob yemu vidimosti vidalyayutsya Ob yem vidimosti viznachayetsya shistma ploshinami vidsikannya Ob yekti B i V poza piramidoyu oglyadu j budut vidsicheni Vidsikannya vikoristovuyetsya dlya pidvishennya shvidkodiyi renderingu Vdalo obrane vidsikannya dozvolyaye procesu renderingu zaoshaditi chas i obchislyuvalni potuzhnosti shlyahom propusku rozrahunku pikseliv yakih ne vidimi dlya koristuvacha Pro pikseli sho budut zobrazheni kazhut sho voni znahodyatsya v mezhah oblasti vidsikannya Pro pikseli sho ne budut namalovani abo roztashovani za mezhami oblasti vidimosti kazhut sho voni vidsicheni Vidsikannya v 2D graficiU dvovimirnij grafici oblast vidsikannya mozhe buti viznacheno takim chinom sho vidobrazhatimutsya pikseli lishe v mezhah vikna abo kadru Oblasti vidsikannya takozh mozhut zastosovuvatisya dlya vibirkovogo kontrolyu renderingu pikseliv zadlya estetichnih abo hudozhnih cilej U bagatoh realizaciyah finalna oblast vidsichennya ce kompoziciya abo peretin odniyeyi abo dekilkoh viznachenih dodatkom figur abo bud yakim obmezhennyam aparatnogo zabezpechennya Yak priklad zastosunku rozglyanemo programu dlya redaguvannya zobrazhen Zastosunok koristuvacha mozhe vikonati rendering zobrazhennya u vikno pereglyadu Koli koristuvach vikoristovuye masshtabuvannya i prokrutku dlya pereglyadu chastini zobrazhennya zastosunok vstanovlyuvati mezhi vidsikannya tak sho pikseli poza oblastyu vidimosti obroblyatisya ne budut Krim togo vidzheti z grafichnim interfejsom mozhut nakladatis i vikonnij interfejs mozhe prihovati deyaki pikseli pochatkovogo zobrazhennya U comu sensi oblast vidsikannya ye kompoziciyeyu oblasti vidsikannya viznachenoyi koristuvachem i oblasti vidsikannya viznachenoyi pristroyem sho vtilyuyetsya programnim zabezpechennyam i aparatnoyu realizaciyeyu sistemi Zastosunok mozhe skoristatisya informaciyeyu pro vidsikannya shob skorotiti chas rozrahunku sceni zberegti obchislyuvalni resursi ta pam yat unikayuchi rozrahunku pikseliv yaki znahodyatsya poza oblastyu vidimosti Vidsikannya u 3D graficiVid prostoru usichenogo blizhnoyu dalnoyu i bokovimi ploshinami vidsikannya Rendering provoditsya tilki dlya zafarbovanogo ob yemu U trivimirnij grafici termin vidsikannya mozhe vikoristovuvatis dlya opisu bagatoh pov yazanih mizh soboyu funkcij Zazvichaj vidsikannya nalezhit do operacij na ploshini yaki pracyuyut z pryamokutnimi formami a vidkidannya vidnositsya do bilsh zagalnih metodiv vidboru elementiv sceni Cya terminologiya ne ye chitko viznachenoyu tomu tochne vikoristannya mozhe vidriznyatis u riznih dzherelah Elementi modeli sceni mistyat u sobi geometrichni primitivi tochki abo vershini vidrizki liniyi abo rebra poligoni abo grani i bilsh abstraktni ob yekti taki yak krivi splajni poverhni j navit tekst U skladnih modelyah scen okremi elementi mozhut buti vibirkovo vidklyucheni vidsicheni z deyakih prichin sered yakih vidimist v mezhah oblasti pereglyadu en oriyentaciya viznachennya en zatemnennya inshimi scenami abo elementami modelej oklyuziyi vibrakovuvannya vidsikannya u glibinu Isnuyut skladni algoritmi dlya efektivnogo viyavlennya i vikonannya vidsikannya Bagato optimizovanih metodiv vidsikannya pokladayutsya na konkretnu logiku aparatnogo priskorennya yaku zabezpechuye grafichnij procesor GPU Ponyattya vidsikannya mozhe buti rozshirene do bilshoyi rozmirnosti za dopomogoyu metodiv abstraktnoyi algebrayichnoyi geometriyi Blizhnye vidsikannya Okrim proyekciyi vershin ta 2D vidsikannya dlya korektnoyi rasterizaciyi trivimirnih primitiviv potribne blizhnye vidsikannya Ce pov yazano iz tim sho vershini mozhut proektuvatisya za oblastyu vidimosti Blizhnye vidsikannya garantuye sho vsi vikoristani vershini mayut dijsni 2D koordinati Razom iz glibinnim vidsikannyam blizhnye vidsikannya takozh dopomagaye zapobigti perepovnennyu znachen bufera glibini Deyaki aparatni zasobi rannogo vidobrazhennya tekstur iz vikoristannyam pryamogo vidobrazhennya tekstur u videoigrah strazhdali vid uskladnen pov yazanih iz blizkim vidsikannyam ta UF koordinatami Oklyuzivne vidsikannya Z abo glibinne vidsikannya Dokladnishe Z buferizaciya U 3D komp yuternij grafici Z chasto nalezhit do osi glibini v sistemi koordinat sistemi koordinat z centrom u pochatku koordinat vikna pereglyadu Z vikoristovuyetsya vzayemozaminno z glibinoyu i konceptualno vidpovidaye vidstani do virtualnogo ekrana U cij sistemi koordinat X i Y vidnosyatsya do zvichajnoyi dekartovoyi sistemi koordinat stvorenoyi na ekrani koristuvacha abo u vikni pereglyadu Cya oblast pereglyadu viznachayetsya geometriyeyu piramidi oglyadu i parametrizuye pole zoru Z vidsikannya abo glibinne vidsikannya nalezhit do metodiv yaki vibirkovo vidobrazhayut pevni ob yekti sceni na osnovi yih glibini shodo ekrana Bilshist grafichnih instrumentiv dozvolyayut rozrobniku vkazati glibinu sceni poblizu chi daleko I vidobrazhatimutsya lishe chastini ob yektiv mizh cimi dvoma ploshinami Rozrobnik dodatkiv mozhe vikoristovuvati cej metod dlya vizualizaciyi inter yeru trivimirnogo ob yekta na sceni Napriklad medichna vizualizaciya mozhe vikoristovuvati cej metod dlya vidobrazhennya organiv vseredini lyudskogo tila Pri rozrobci videoigor informaciya pro vidsikannya mozhe buti vikoristana dlya priskorennya logiki gri Napriklad visoka stina abo budivlya sho zakrivaye inshi igrovi sutnosti mozhe zaoshaditi chas grafichnogo procesora yakij inakshe vitrachavsya b na transformaciyu ta teksturuvannya predmetiv u tilnih oblastyah sceni Programa oriyentovana na maksimalnu produktivnist mozhe vikoristovuvati tu samu informaciyu pro vidsikannya shob zaoshaditi chas procesora optimizuyuchi igrovu logiku dlya ob yektiv yaki gravec ne bachit Vazhlivist vidsikannya u video igrahVibir nadijnoyi strategiyi vidsikannya maye vazhlivu rol pri rozrobci videoigor shob maksimizuvati chastotu kadriv i yakist zobrazhennya Nezvazhayuchi na chipi grafichnogo procesora yaki z kozhnim rokom stayut tilki shvidshimi peretvorennya teksturuvannya i zatinennya poligoniv sceni zalishayetsya obchislyuvalno dorogim osoblivo zavdyaki mnozhinnim teksturam ta efektam zatinen yaki ye poshirenimi sogodni Otzhe rozrobniki videoigor povinni pracyuvati v mezhah pevnogo byudzhetu z bagatokutnikiv yaki mozhna vidtvoriti dlya kozhnogo videokadru Dlya maksimizaciyi vizualnoyi skladovoyi gri rozrobniki nadayut perevagu estetichnij skladovij a ne aparatnomu obmezhennyu na kilkist poligoniv Optimizaciya dozvolyaye pokrashiti produktivnist ta skoristatisya perevagami priskorennya grafichnogo procesora yakij pokrashuye diyi gravcya Optimizaciya vidsikannya mozhe prishvidshiti vizualizaciyu potochnoyi sceni ekonomlyachi vikoristannya chasu i pam yati dlya vizualizaciyi v mezhah mozhlivostej aparatnogo zabezpechennya Programisti chasto rozroblyayut rozumni evristichni algoritmi shob prishvidshiti proces vidsikannya oskilki inodi obchislyuvalno zaboroneno vikoristovuvati trasuvannya pryamimi abo trasuvannya promeniv shob zi 100 tochnistyu viznachiti yaki poligoni ne znahodyatsya v poli zoru kameri Strukturi danih taki yak derevo oktantiv R dereva ta iyerarhiyi obmezhuvalnih ob yektiv mozhut buti vikoristani dlya rozdilennya sceni na vidtvoreni ta ne vidtvoreni oblasti dozvolyayuchi zasobu vidtvorennya vidhilyati abo prijmati cili vuzli derev de ce dorechno Optimizaciya oklyuziyi z tochki zoru geometriyi mozhe prizvesti do poyavi artefaktiv yaksho scena mistit poverhni sho vidbivayut svitlo Poshirenim metodom ye en yakij mozhe dodatkovo vikoristovuvati nayavni ocinki oklyuziyi dlya potochnoyi piramidi oglyadu abo yaksho produktivnist grafichnogo procesora dozvolyaye ye metod rozrahunku novoyi karti oklyuziyi z okremogo polozhennya kameri Z istorichnih prichin deyaki videoigri vikoristovuvali algoritm viyavlennya zitknen z odnakovoyu logikoyu ta aparatnim priskorennyam yak test na oklyuziyu Yak rezultat nespecialisti nepravilno vzhivali termin klip ta jogo antonim en dlya poznachennya viyavlennya zitknen AlgoritmiAlgoritmi vidsikannya linij Koena Sazerlenda Lianga Barskogo Shvidke vidsikannya Kirusa Beka en Skala O lg N algoritm Algoritmi vidsikannya poligoniv en en en en Tehniki renderingu Algoritm hudozhnikaDiv takozhBulevi operaciyi nad mnogokutnikami Bounding Box en Efekt tumanu en en en Vidimist geometriya Dodatkova literaturaGPU Gems Efficient Occlusion Culling Vidsikannya u Java AWT java awt Graphics clipRect JavaDoc 5 veresnya 2015 u Wayback Machine Vidsikannya u UIKit for iOS 2D UIRectClip 10 bereznya 2016 u Wayback Machine Vidsikannya u SceneKit for iOS 3D SCNCamera Adjusting Camera Perspective 17 zhovtnya 2015 u Wayback Machine Vidsikannya u OpenGL OpenGL Technical FAQs Clipping Culling and Visibility Testing 4 bereznya 2016 u Wayback Machine PrimitkiBertoline Gary Wiebe Eric 2002 Fundamentals of Graphics Communication vid 3rd McGraw Hill s G 3 ISBN 0 07 232209 8 Procitovano 4 sichnya 2015 Oracle 2014 Arhiv originalu za 5 veresnya 2015 Procitovano 24 zhovtnya 2015 Sekulic Dean 2004 Efficient Occlusion Culling Pearson Arhiv originalu za 5 chervnya 2013 Procitovano 2 sichnya 2015 Sekulic Dean 2004 Efficient Occlusion Culling Pearson Arhiv originalu za 5 chervnya 2013 Procitovano 2 sichnya 2015 Sekulic Dean 2004 GPU Gems Pearson Arhiv originalu za 5 chervnya 2013 Procitovano 2 sichnya 2015 Paul Martz 2001 OpenGL org Arhiv originalu za 4 bereznya 2016 Procitovano 2 sichnya 2015