Відсікання (комп'ютерна графіка)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Об'єм видимості визначається шістьма площинами відсікання. Об'єкти Б і В поза пірамідою огляду й будуть відсічені.

Відсікання (англ. clipping), у комп'ютерній графіці, є способом для вибіркового включення або відключення операцій рендерингу в межах визначеної області інтересу. Алгоритм рендерингу малює лише ті пікселі, які потрапляють у поле зору спостерігача. Лінії і поверхні за межами об'єму видимості видаляються.[1]

Відсікання використовується для підвищення швидкодії рендерингу. Вдало обране відсікання дозволяє процесу рендерингу заощадити час і обчислювальні потужності за рахунок пропуску розрахунку пікселів, які користувач не бачить. Про пікселі, що будуть зображені, кажуть, що вони знаходяться в межах області відсікання. Пікселі, що не будуть намальовані за межами області або, більш неформально, «відсічені».

Відсікання в 2D графіці[ред.ред. код]

У двовимірній графіці область відсікання може бути визначено таким чином, що відображатимуться пікселі лише в межах вікна або кадру. Відсікання областей також може застосовуватися для вибіркового контролю рендерингу пікселів для естетичних або художніх цілей. У багатьох реалізаціях фінальна область відсічення — це композиція (або перетин[en]) однієї або декількох форм, які визначаються як застосунками, так само, як і обмеженнями апаратного забезпечення.

Як приклад застосунка, розглянемо програму для редагування зображень. Застосунок користувача може виконати рендеринг зображення у видове вікно. Коли користувач використовує масштабування і прокрутку для перегляду частини зображення, застосунок встановлює межі відсікання так, що пікселі поза областю перегляду не обробляються. Крім того, віджети з ГІК (англ. GUI) можуть накладатись, і інші вікна[en] можуть приховати деякі пікселі з початкового зображення. У цьому сенсі, область відсікання є композицією відсікання визначеного користувачем і відсікання визначеного пристроєм, що втілюється системним програмним забезпеченням і апаратною реалізацією.[2] Застосунок може скористатися вигодою від наявності інформації про відсікання, і скоротити час розрахунку сцени, зберегти обчислювальні ресурси і пам'ять, уникаючи розрахунку пікселів, яких не видно.

Відсікання у 3D графіці[ред.ред. код]

Вид простору усіченого ближньою, дальньою і боковими площинами відсікання. Рендеринг проводиться тільки для зафарбованого об'єму.

У тривимірній графіці термін «відсікання» може використовуватись для опису багатьох пов'язаних між собою функцій. Зазвичай, «відсікання» вказує на операції в площині, які працюють з прямокутними формами, а «відкидання» відноситься до більш загальних методів відбору елементів сцени. Ця термінологія не є чітко визначеною, тому точне використання варіюється у різних джерелах.

Елементи моделі сцени включають геометричні примітиви: точки або вершини; відрізки лінії або кромки; полігони або грані; і абстрактніші об'єкти моделі, такі як криві, сплайни, поверхні й навіть текст. У складних картин, моделей, окремі елементи можуть бути вибірково відключені (обрізується) з причин, у тому числі видимість в межах області перегляду (усікання вибраковування); орієнтація (відбір невидимої поверхні), затемнення на інші сцени або елементи моделі (оклюзії вибраковування, глибина — або «Z» клиппинга). Складні алгоритми існують для того, щоб ефективно виявляти і виконувати такі обрізки. Багато оптимізованих відсікань методи ґрунтовані на конкретних апаратне прискорення логіки, наданий Графічний процесор (ГПУ).

Поняття відсікання може бути розширене до більш високої розмірності за допомогою методів абстрактної алгебраичної геометрії.

Оклюзія відсікання (Z — або глибина відсікання)[ред.ред. код]

Основні статті: буфер глибини і оклюзії вибраковування У 3d комп'ютерній графіці, «З» часто посилається на глибині осі в системі координат з центром на початку координат вікна перегляду: «З» використовується взаємозамінний з «глибиною», і концептуально відповідає відстані «у віртуальному екрані». У цій системі координат «X» і «Y», отже, відносяться до звичайної декартової системи координат система розкладається на екрані користувача або видового екрану. Ця область перегляду визначається геометрією конус видимості, і параметризує поле зору.

По Z- відсікання, відсікання або глибина, відноситься до методів, які вибірково робити певні об'єкти сцени з урахуванням глибини їх відносно екрану. Більшість графічних інструментів дозволяють програмістові вказати «поруч» і «далеко» кліп глибини, а тільки частини об'єктів між цими двома площинами відображаються. Творчий прикладний програміст може використати цей метод для візуалізації інтер'єру 3d об'єкту в сцені. Наприклад, в медичній візуалізації додаток може використати цей метод для відображення органів усередині людського тіла. Відео гри програміст може використати для відсікання інформації, щоб прискорити ігрової логіки.[3] наприклад, висока стіна або будівля, яка закриває інші ігрові об'єкти можуть врятувати ГПУ час, який витрачається на перетворення і текстурування елементів в задній частині сцени; і тісно інтегровану з програмою можете використати цю інформацію для заощадження процесорного часу шляхом оптимізації поза грою Логічні для об'єктів, які не видно гравцеві.[3]

Важливість відсікання у відео іграх[ред.ред. код]

Хороше відсікання стратегії грає важливу роль в розвитку відеоігор в цілях максимальної частоти кадрів і якість зображення. Незважаючи на GPU чипів, які швидше з кожним роком, вона як і раніше в обчислювальному відношенні дороге перетворення, текстура і відтінок полігонів, особливо з декількома текстурами і затінювання проходів поширених сьогодні. Отже, розробники ігор повинні жити в межах певного «бюджетного» полігону, який можуть бути намальований кожен кадр.

Щоб максимізувати візуальну якість гри, розробники надають перевагу естетичному вибору, а не апаратним обмеженням, диктувати полігону бюджету. Оптимізації продуктивності, які економлять таким чином, або скористатися графічним конвеєром прискорення поліпшити досвід гравця.

Відсікання оптимізації може прискорити візуалізацію поточної сцени, економії використання пам'яті і часу рендерингу в межах можливості апаратури. Програмісти часто розробляють розумні евристики для прискорення кліпера, як це іноді обчислювально заборонні використати лінії литва, або трасування променів для визначення з 100% точністю, які полігони знаходяться не усередині камери поле зору. Просторово усвідомлює структури даних, таких як дерево октантів і Р* дерева можуть бути використані для розділення сцени на зроблені і незроблені районі.

Оклюзія оптимізації на основі точки зору геометрії може привести до появи артефактів, якщо сцена містить відзеркалювальні поверхні. Поширеним прийомом, відображення картирования, можуть додатково використати існуючі оклюзії оцінки. Основний вид усіченого; чи, якщо продуктивність дозволяє, нової оклюзії карта може бути обчислена з окремого положення камери.

З історичних причин у деяких відео іграх використовується виявлення зіткнень оптимізації з однаковою логікою і апаратне прискорення, як оклюзія. Термінологія «кліп» (і його антонім «немає відсікання») іноді використовується для позначення виявлення зіткнень. "Проходити « крізь» може відноситися до ситуації, в якій частини моделі проходить через іншу частину в неприродній манері, немов нога, що проходить через мис при запуску.

Алгоритми[ред.ред. код]

Див. також[ред.ред. код]

Додаткова література[ред.ред. код]

Примітки[ред.ред. код]

  1. Bertoline, Gary; Wiebe, Eric (2002). Fundamentals of Graphics Communication (вид. 3rd). McGraw-Hill. с. G-3. ISBN 0-07-232209-8. Процитовано 2015-01-04. 
  2. а б java.awt.Graphics.clipRect. Oracle. 2014. 
  3. Sekulic, Dean (2004). Efficient Occlusion Culling. GPU Gems. Pearson. Процитовано 2015-01-02. 
  4. Paul Martz (2001). Clipping, Culling, and Visibility Testing. OpenGL.org. Процитовано 2015-01-02.