уроци

▷ 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 Max пуска поддръжка за Vulkan в новата му публична бета версия за Linux

OpenGL еволюция

През март 2015 г. Vulkan API беше представен като наследник на OpenGL на конференцията на разработчиците на игри. Първоначално известен като „Next Generation OpenGL“ или „glNext“, програмният интерфейс е с отворен код и крос-платформа. Разликата с OpenGL е, че по време на програмирането се обръща повече внимание на хардуера, което значително увеличава мощността. Някои компютърни игри вече поддържат Vulkan, но повечето използват DirectX. Vulkan също е разработен от групата Khronos.

Препоръчваме ви да прочетете най-добрите графични карти на пазара.

Досега нашата статия за OpenGL, надяваме се, че сте разбрали от какво се състои и още. Както и да е, можете да оставите всякакви въпроси в коментарите.

уроци

Избор на редакторите

Back to top button