Підручники

▷ Opengl: що це таке і для чого це

Зміст:

Anonim

Ви коли-небудь чули про OpenGL ? Він швидко став провідним графічним API в галузі реального часу, оскільки він був єдиним, доступним на багатьох платформах. Сьогодні ми пропонуємо вам цю статтю, в якій ми пояснюємо, що таке OpenGL і для чого це.

Зміст індексу

Історія

У 80-х розробці програмного забезпечення, сумісного з широким спектром обладнання, пов'язаного з графічним світом, було справжньою проблемою для розробників. Вам довелося мати справу з дуже різними інтерфейсами та писати конкретні драйвери для кожного типу апаратних засобів, будучи дуже дорогими, тому команди програмістів були передані в аутсорсинг для пришвидшення розвитку. Оскільки кожна команда працювала окремо над своїми інтерфейсами, було створено багато зайвих кодів. У 1992 році SGI очолив створення Ради з перегляду архітектури OpenGL (OpenGL ARB), групи компаній, яка підтримувала б і розширювала специфікацію в наступні роки. OpenGL розвинувся з IRIS GL, подолавши проблему з апаратною залежністю, запропонувавши емуляцію програмного забезпечення для цих непідтримуваних функцій. Таким чином, додатки могли використовувати просунуту графіку на відносно слабких системах.

Щоб зрозуміти, що таке OpenGL, спершу треба знати, що таке API.

Розуміння OpenGL, що таке API?

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

Що таке OpenGL?

В основному він розглядається як API, який надає нам великий набір функцій, які ми можемо використовувати для маніпулювання 3D та 2D графікою та зображеннями. Однак сам по собі це не просто API, а специфікація, розроблена та підтримувана групою Khronos. Він також використовується для розробки відеоігор, де він конкурує з Direct3D на платформі Microsoft.

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

Зазвичай розробники бібліотек OpenGL є виробниками відеокарт. Кожен графічний процесор підтримує конкретні версії цього API, це версії OpenGL, розроблені спеціально для цієї відеокарти. Наприклад, при використанні системи від такої компанії, як Apple, вони підтримують бібліотеку OpenGL, а в Linux є комбінація версій постачальників графіки та адаптацій для цих бібліотек. Це може означати, що всякий раз, коли OpenGL проявляє дивну поведінку, яка не повинна, це, швидше за все, вина виробників відеокарт. Щоразу, коли виникає помилка в реалізації, вона зазвичай вирішується шляхом оновлення драйверів графічних карт. Ці драйвери включають останні версії, які підтримує ваш графічний процесор. З цієї причини завжди рекомендується оновлювати драйвери.

Цілі OpenGL

Основними цілями є:

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

Основна операція OpenGL - це приймати примітивні дії, такі як точки, лінії та багатокутники, та перетворювати їх у пікселі. Цей процес виконується графічним конвеєром, відомим як державна машина OpenGL. Більшість команд OpenGL видають примітивні операції для сегментації графіків. До випуску версії 2.0 кожен етап сегментації виконувався у встановленій функції, що призводило до невеликої конфігурації. Станом на цю версію, кілька етапів повністю програмовані за допомогою GLSL.

Розширення

Дуже цікавою чудовою особливістю є його розширення підтримки. Кожен раз, коли компанія графічних процесорів впроваджує нову технологію або новий спосіб оптимізації для надання 3D-зображень , це розширення, реалізоване у драйверах. Якщо апаратне забезпечення, на якому працює програма, підтримує це розширення, розробник може використовувати функціонал, що надається розширенням, для отримання більш досконалої або ефективної графіки. Таким чином, розробник відеоігор може використовувати ці нові методи візуалізації, не чекаючи, коли OpenGL включить функціональність у майбутні версії, просто перевіривши, чи підтримує розширення відеокарта. Часто, коли розширення популярне або дуже корисне, воно з часом стає частиною майбутніх версій OpenGL.

РЕКОМЕНДУЄМО ВАС Mad Mad випускає підтримку Vulkan у його новій загальнодоступній бета-версії для Linux

Еволюція OpenGL

У березні 2015 року API Vulkan був представлений як наступник OpenGL на конференції розробників ігор. Спочатку відомий як OpenGL Open Next (наступне покоління) або «glNext», інтерфейс програмування - це відкритий і кросплатформенний. Відмінність OpenGL полягає в тому, що при програмуванні більше уваги приділяється апаратному забезпеченню, що значно збільшує потужність. Деякі комп'ютерні ігри вже підтримують Vulkan, але більшість використовує DirectX. Vulkan також розробляється групою Khronos.

Рекомендуємо прочитати найкращі графічні карти на ринку.

Досі наша стаття про OpenGL, сподіваємось, ви зрозуміли, з чого вона складається і багато іншого. У будь-якому випадку ви можете залишити будь-які питання в коментарях.

Підручники

Вибір редактора

Back to top button