OpenGL Графична библиотека

Open Graphics Library е стандартно графично приложение за 2D и 3D визуализация, разработено през 1992 г. Opengl се предлага в два варианта. Първият от тях е Microsoft OpenGL, който често е включен в Winds за инсталиране на графична карта. Вторият - Cosmo OpenGL - е предназначен за системи, които нямат ускорена графична карта. OpenGL библиотеката е основното условие на програмата.

Преглед на потребител на OpenGL

За OpenGL, всяка компания, която разработва графично приложение, трябваше да пренапише графичната част за всяка платформа на операционната система. От тях можете да създадете същите ефекти върху различни операционни системи, като използвате всеки графичен адаптер, който поддържа програмата. OpenGL задава набор от "команди" или директно изпълними функции, всяка от които насочва действието за рисуване или предизвиква специални ефекти. Техният списък може да бъде създаден за повтарящи се ефекти.


OpenGL не зависи от характеристиките на "Ветровете" на всяка операционна система, но осигурява специални рутинни процедури за операционната система. Той идва с огромен списък от вградени функции, заявени чрез API. Те включват:
  • скрито премахване на повърхността;
  • алфа-смесване (прозрачност);
  • анти-алиасинг;
  • текстурирано картографиране;
  • операции с пиксели;
  • преглед и моделиране на трансформации;
  • атмосферни ефекти (мъгла и дим).
  • Silicon Graphics - разработчиците на напреднали графични работни станции - инициира разработването на OpenGL. DEC, Intel, IBM, Microsoft и Sun Microsystems влязоха в индустриятаКомисия по архитектурен преглед. Разработването на приложения, използващи OpenGL API, не води до разходи, различни от обучението. Microsoft предлага безплатно изтегляне на своите библиотеки за своите системи.


    Набор от модули за Windows

    Приложението е достъпно на много системи Win32 и Unix. А f90gl е внедряването на публичното пространство на официалните комуникации Fortran 90 OpenGL, проектирано като база данни от модули и библиотеки, определя необходимите интерфейси за функционалността на програмата. Самият f90gl е разработен от William F. Mitchell от Технологичния институт на Geertberg в САЩ. Доскоро OpenGL LF9x можеше да бъде създаден само под формата на статично свързани програми, насочени към Visual C. В момента много по-благоприятен метод е достъпен благодарение на усилията за отлагане, внесени от Lawson B. Wakefield от Великобритания. Тази реализация направи OpenGL интерфейса достъпен под WiSK и Winteracter и беше реализиран на доброволна, нетърговска основа. Някои OpenGL DLL файлове, които са инсталирани в директорията SYSTEM32 на Windows, са необходими за свързване към библиотеката на OpenGL. Те включват следното:
  • opengl32.dll;
  • glu32.dll;
  • glut32.dll.
  • Първите две от тези OpenGL библиотеки (за да ги разгледат преди инсталиране) са стандартна част от Windows с различни модификации и Me. Библиотеките и модулите f90gl трябва да бъдат инсталирани в LIB директорията LF95:
  • F90GL.LIB;
  • F90GLU.LIB;
  • F90GLUT.LIB;
  • OPENGL32.LIB;
  • GLU32.LIB;
  • GLUT32.LIB;
  • OPENGL.MOD;
  • OPENGL2.MOD;
  • OPENGL_KINDS.MOD;
  • OPENGL_GLINTERFACES.MOD;
  • OPENGL_FWRAP.MOD;
  • OPENGL_GLUINTERFACES.MOD;
  • OPENGL_GLU.MOD;
  • OPENGL_GLUTINTERFACES.MOD;
  • OPENGL_GLUT.MOD;
  • OPENGL_GL.MODd.Компилирането и групирането на програми f90gl изисква LF95 LIB директорията да се отнася към пътя на модула на компилатора и имената на библиотеките f90gl за свързване.

    Библиотеки с изображения

    DevIL се използва от разработчиците. Той поддържа много графични формати за четене и писане, множество компилатори и операционни системи ("Windsor", "Linux", "Mas"). Библиотеката има следния синтаксис:
  • FreeImage е междуплатформена OpenGL библиотека за изтегляне на изображения с много широк формат (включително някои HDR-формати, като OpenEXR).
  • OpenImageIO (OIIO) е библиотека за четене и писане на изображения, както и много свързани класове, помощни програми и приложения. Широко се използва в анимационни и VFX студия по целия свят, както и вградени в няколко търговски продукта.
  • SOIL е мултиплатформено изтегляне на изображения, което е изключително малко. C ++, способен да зарежда DDS (DDS9 и DDS10) текстури под лиценза на MIT.
  • Glraw предоставя инструмент за командния ред, който преобразува файловете с изображения в непреработени, съдържащи директни текстови данни.
  • Импортиране на активи на 3D активи

    Графичната библиотека на OpenGL за внос на активи (Assimp) е представена като библиотека с отворен код за внос на различни популярни триизмерни модели. Най-новата версия изнася 3d файлове и е подходяща като конвертор с общо предназначение. Има няколко вида такива библиотеки:
  • Може да чете различни файлови формати 3D - COLLADA, собствени Blender3D файлове, Wavefront Obj (.obj) и много други. Библиотеката lib3ds е предназначена за четене3ds файлове.
  • ​​
  • Open3mod е Windows-базиран преглед на модели. Той изтегля всички файлови формати, поддържани от Assimp, и е идеален за бързо валидиране на 3D активи.
  • AssetKit (в процес на изпълнение) - OpenGL библиотеката е вносител /износител на 3D ресурси, помощна програма, базирана на спецификациите на COLLADA /glTF. Основният фокус тук е COLLADA glTF. Той напълно ще поддържа форматите 141.411.5+, както и някои други като библиотека за изтегляне на модели в OpenGL.
  • Високопроизводителна 2D /3D графика

    OpenGL Android Graphic Library включва поддръжка за високопроизводителни 2D и 3D графики с отворена библиотека, включително OpenGL ES API. Android я поддържа както чрез API за инфраструктурен интерфейс, така и чрез NDK. В платформата на посочената операционна система има две основни класове, които ви позволяват да създавате и манипулирате графики с помощта на API: GLSurfaceView и GLSurfaceView.Renderer. Ако има цел да използвате OpenGL в приложението за Android, трябва да разберете как да приложите тези класове в действие. Да, GLSurfaceView може да нарисува и манипулира обекти, използвайки API на OpenGL API като функцията SurfaceView. Този интерфейс дефинира методите, необходими за изготвяне на графика GLSurfaceView. И потребителят трябва да осигури реализацията на този интерфейс като отделен клас и да приложи GLSurfaceView.setRenderer към екземпляра на GLSurfaceView. След като сте създали изглед на контейнера за OpenGL ES, GLSurfaceView и GLSurfaceView.Renderer, можете да стартирате библиотечната връзка с OpenGL и да използвате API.

    Набор от мобилни графични устройства

    Приложенията на приложенията се различават за устройства с AndroidПоддържаните API включват компресиране на текстура и друг набор от функции. Пакетът с разширения за Android (AEP) поддържа стандартната база данни за разширения. Опаковането им заедно насърчава последователен набор от функции на всички устройства, позволявайки на разработчиците да използват пълноценно най-новия пакет мобилни графични дизайни. AEP също подобрява поддръжката на изображения, буфери, съхранение на шейдъри и броячи. За да може приложението да използва AEP, версията на платформата трябва да я поддържа. Изискването за AEP също се изисква, както следва:

    Проверка и избор на версия на OpenGL ES

    Няколко версии на приложението са достъпни на устройства с Android. Можете да посочите минималната версия на приложния програмен интерфейс (API), изискван от приложението на телефона ви. API версия opengl ES 1.0 версия 2.0 версия 3.0 осигурява високопроизводителни графични интерфейси за създаване на 3D игри, визуализация и потребителски интерфейси. Програмата на OpenGL ES 2.0 е подобна на версия 3.0, която е допълнителна функция на API 2.0 с допълнителни функции.
    Програмирането за API 1.0 /1.1 е значително по-различно от 2.0 и 3.0, поради което разработчиците трябва внимателно да проучат някои от факторите, преди да започнат да се развиват с тези API. Да, като цяло, 2 и 3 осигуряват по-бърза графична производителност от API ES 1/11. Разликата в нея обаче може да варира в зависимост от устройството с Android, на което се изпълнява програмата, поради различията в хардуерната реализация на графичния конвейер.

    Сравнение с драйвери за DirectX

    Windows DirectX графичните драйвери се поддържат по-добре от OpenGL,въпреки факта, че разработчиците управляват по-бързо. OpenGL и DirectX библиотеките (история и перспективи) са свързани с Microsoft, която всъщност се противопоставя на OpenGL. През 2003 г. Microsoft заяви, че вече не се интересува от плановете на OpenGL. След това през 2005 г. те направиха изявление на презентацията на SIGGRAPH, че Windows Vista ще премахне поддръжката си. Тази кампания предизвика хаос в общността на OpenGL, след което много професионални програмисти преминаха към DirectX. След като Vista все още беше пуснат, не бяха направени силни изявления - производителите създадоха нови продуктивни драйвери (ICD), които възстановяват вградената функция. Отворени бюлетини с информация, която все още е най-доброто приложение. Въпреки това вредата вече е причинена и общественото доверие за OpenGL е разтърсено. Всъщност OpenGL е по-мощен от DirectX, поддържа повече платформи и е от първостепенно значение за бъдещите игри. Историята и перспективите на OpenGL и DirectX библиотеките предполагат, че първата е още по-положителна:
  • Осигурява възможност за използване на графични функции за операционни системи, докато DirectX предоставя само незабавни елементи от тях в най-новите версии на Windows ". Технологията на теселацията, разработена от Microsoft за DirectX 11, беше OpenGL разширение за три години. Благодарение на упоритата работа DirectX 10 и 11 работят по-бързо от OpenGL и поддържат почти толкова функции. Има обаче един голям проблем: те не работят в Windows XP, който все още се използва от много хора.
  • Крос-платформа. Много потребители на Lugaru работятMac, Linux и Windows XP и не могат да играят чрез DirectX. Единственият начин да се достави най-новата графика за геймърите на Windows XP е чрез 32bits от библиотеката opengl.
  • По-добре за бъдещи игри. Това е отворен стандарт с нестопанска цел, предназначен да позволи на потребителите на всяка платформа да получават висококачествена графика, осигурена от техния хардуер. Нейното развитие се руши днес като монополно корпоративно гигантско нападение, опитвайки се да доминира в индустрията. Ето защо Direct3D е единственият графичен API, който се поддържа от Windows.
  • Настройки на C ++ и Visual Studio

    OpenGL за c библиотеката има безплатна версия. Експертите препоръчват компилиране на програми, написани на ANSI C от OpenGL и GLUT с помощта на Dev-C ++. Bloodshed Dev-C ++ е свободен C ++ компилатор и среда за разработка на операционни системи Windows. Подобно на повечето от същия хардуер, той може да се използва за компилиране на ANSI C. Чрез инсталиране на GLUT файловете на заглавията и библиотеките, той се използва за писане на програми. За реализиране на този проект можете да използвате 32-битова или 64-битова "Уиндзор". Преди да се свържете с библиотеката на OpenGL, ще ви трябват блестящи заглавки, които могат да бъдат намерени на сайта на sourceforge Extension Wrangler и на freeglut версията за Visual Studio:
  • Кликнете върху връзката в пакета freeglut 300 MSVC.
  • Въведете името на файла за изтегляне.
  • Изтеглете го в папката с freeglut.
  • Извличане и преименуване на свободното мляко.
  • Обща директория за инсталация: C: DEV.
  • Каталог, съдържащ проекти: C: DEV visual-studio-c ++.
  • Каталог, в който имабиблиотеки: C: DEV Lib за Visual Studio.
  • Отворете го и създайте празен проект & gt; Шаблони & gt; Visual C ++ & gt; Празен проект.
  • След това напишете "Име": Shapes2D.
  • Местоположение: C: dev visual-studio-c ++.
  • Създаване на ново решение за библиотека OpenGL за Visual Studio. Име на решение: BadprogTutorial OK.
  • Проектът Shapes2D е създаден в BadprogTutorial.
  • Добавяне на main.cpp & gt; Кликнете с десния бутон на мишката "Project" & gt; Добавяне & gt; Нов елемент & gt; Visual C ++ & gt; C ++ файл. Напишете име: main.cpp и добавете.
  • Конфигуриране на GL и OpenGL конфигурации на библиотеките за презапис.
  • Щракнете върху мишката Shapes2D & gt; "Properties". В горния ляв ъгъл на падащото меню намерете „Конфигурация“, за да изберете всички конфигурации (вместо Debug).
  • Щракнете върху "Свойства на конфигурацията" & gt; C /C ++ & gt; Общи & gt; «Допълнителни справочници за инвестиции». Отдясно има падащо меню, кликнете върху „Промяна“.
  • Появи се нов прозорец: "Допълнителни директории".
  • Щракнете върху иконата Нова линия & gt; Бутон за преглед и изберете две от следните папки: C: DEV Lib Glew-1120. C: DEV Lib freeglut-300.
  • Щракнете върху OK. Прилагайте използването на библиотеката OpenGL, включително библиотеки, библиотечни папки.
  • Щракнете с десния бутон на мишката Shapes2D & gt; Параметри & gt; Свойства на конфигурацията & gt; Конектор & gt; Общи & gt; „Допълнителни каталози в библиотеките“.
  • Отдясно има падащо меню. Кликнете върху Редактиране. Появи се нов прозорец: "Допълнителни библиотеки".
  • Щракнете върху иконата Нова линия & gt; кликнете върху бутона "Преглед" & gt; изберете следните две папки за 64-битовата версия: C: DEV Lib Glew-1120 Lib Release x64 и C: DEV Lib свободен-300 Lib x64.
  • Щракнете върху бутона OK & gt; приложите библиотечни файлове. Кликнете върху мишката Shapes2D & gt; Свойства & gt; Свойства на конфигурацията & gt; Конектор & gt; Enter ».
  • Отдясно има падащо меню, кликнете върху „Редактиране“.
  • Появи се нов прозорец: "Допълнителни зависимости". Кликнете върху бялата област и напишете: freeglut.lib.
  • Натиснете клавиша Enter, за да преминете към следващия ред: glew32.lib.
  • Кликнете върху „Приложи“ и „ОК“.
  • Сега Visual Studio IDE е готов за работа с OpenGL.

    Изтегляне на Dev-C ++

    Тези инструкции са тествани на голям брой Windows системи, които идват с файловете, необходими за OpenGL, но не и за файловете, необходими за GLUT. Dev-C ++ не работи с Vista от Microsoft. Процедура за изтегляне:
  • Изтеглете Dev-C ++ и го инсталирайте.
  • Вземете Dev-C ++ 5.0 beta 9.2 (499.2) (9.0 MB) от Mingw /GCC 342 (въпреки че е бета, работи добре).
  • Сега трябва да кликнете върху SourceForge, за да отидете в списъка с сайтове за изтегляне и да изберете един.
  • Запазете този файл на място като C: Temp.
  • Когато изтеглянето приключи, кликнете върху бутона "отвори", за да започнете инсталационния процес. Или отидете на C: Temp и щракнете два пъти върху devcpp499.2_setup.exe.
  • Изберете настройката "по подразбиране". Приемете предложената дестинация за инсталация.
  • Отговор: "Да", когато инсталацията ви пита дали искате да инсталирате Dev-cpp за всички потребители. На екрана се появява съобщение, че инсталацията е завършена. Кликнете върху „Край“. Появява се първият екран за конфигуриране.
  • Изберете „английски“ и „нов облик“. защракнете върху Да на следните екрани. Програмата се стартира автоматично.
  • Щракнете върху "Файл", след което създайте проект.
  • Изберете име на проект (например "myProject").
  • Кликнете върху "C Project", "Empty Project" и OK.
  • В прозореца „Създаване на нов проект“ кликнете върху „Запазване“.
  • Щракнете върху "Файл /Нов /Изходящ файл" и натиснете "Да" в "Добавяне на файл към текущия проект".
  • Натиснете "File /Save As" и запишете файла като "hello.c" (или друго име). Важно е да проверите дали .c файловото разширение. Всяко друго разширение (например предложеното .cpp) ще има проблеми с компилирането.
  • Щракнете върху "Run /Compile and Run". Програмата компилира, стартира и записва изхода си в DOS прозореца.
  • Опитайте друг начин да стартирате програмата (след компилирането му) - стартирайте DOS прозореца извън системата Dev-Cpp.
  • Отидете в поддиректория, която съдържа проекта и въведете hello.exe.
  • Намерете Dev-C ++, посочен в раздела "Програми" на изскачащото меню.
  • Сега потребителят ще може да създава, компилира и изпълнява C (и C ++) програми. Ще има файлове, dll библиотеки за OpenGL (и всички други стандартни пакети), но не и GLUT. GLUT управлява прозорците и другите компоненти на интерфейса, необходими за него и ги разделя.

    Инсталиране и стартиране на програмата в Windows 7

    Платформа за внедряване на Visual Studio 2010 - Интегрирана. Сряда (IDE) под Windows 7. Трябва да изтеглите и инсталирате Microsoft Visual C ++ 2010 Express. След успешно инсталиране на Visual C ++ следвайте тези стъпкиДействия:
  • Изтеглете и разопаковайте файла freeglut-MSVC-281-1.
  • Отворете началния екран на Visual C ++ 2010 от менюто Старт.
  • Създайте нов проект, като изберете Файл - & gt; Ново - & gt; Проект.
  • Изберете Win32 в панела Installed Templates ("Инсталирани шаблони"), а след това приложението Win32 Console със следния панел.
  • Назовете проекта си и изберете папката, която искате да запазите.
  • Махнете отметката от полето „Създаване на директория за разрешаване“.
  • Натиснете OK, за да отворите съветника за приветствие и диалоговия прозорец "Настройки на програмата" за диалоговия прозорец за настройки.
  • Махнете отметката от квадратчето "Предварително компилирано заглавие", поставете отметка в квадратчето "Празен проект" и изберете "Конзолно приложение".
  • Щракнете върху Готово, за да видите новия прозорец на проекта на OpenGL за Windows 7.
  • Щракнете върху Изходните файлове и изберете Добавяне ->. Нов елемент, за да отворите диалоговия прозорец.
  • Изберете "Код" в панела "Инсталирани шаблони" и "C ++ файл" (.cpp) със следния панел.
  • Назовете файла си и кликнете върху „Добавяне“, за да видите празния бар в прозореца на проекта с име „Любимо име“.
  • Запазете и създайте проект, като отидете в Debug - & gt; Build Solution След това стартирайте програмата, като използвате Debug - & gt; Започнете отстраняване на грешки
  • Ако графичната карта не поддържа OpenGL 4.3, тогава програмите, които я използват, могат да бъдат компилирани, но не и изпълнени, тъй като системата не може да предостави контекста на рендериране на OpenGL 4.3 чрез задаване на командата glutInitContextVersion (4. 3) към основната процедура. В този случай можете да замените версия 4.3 с 3.3 или дори с 2.1. Въпреки че почти всички платформи поддържат OpenGL API, разработчиците се нуждаят от негосъздаване на персонализирани програми за различни платформи. Това се дължи на факта, че графиките са само част от програмата, докато други компоненти все още се различават между платформите. За да поправите това, WebApp е проектиран да изпълнява цели приложения в уеб браузър като Chrome и Firefox. Така една програма може да работи на всички платформи със съвместим браузър.
    Междувременно, от страна на клиента, всичко се прехвърля "в движение" от сървърите, така че не се изисква по-нататъшно инсталиране на програмата. Създаден е и специален API, наречен WebGL, за интернет и базиран на ES - подмножество на OpenGL, предназначено специално за мобилни устройства. За постигане на същата цел за VR, друг API, наречен WebVR, е проектиран така, че лесно да доведе VR опитността до браузърите, независимо от платформата.

    Свързани публикации