Grafická knižnica OpenGL

Open Graphics Library je štandardná grafická aplikácia pre vizualizáciu 2D a 3D, vyvinutú v roku 1992. Opengl prichádza v dvoch variantoch. Prvým z nich je Microsoft OpenGL, ktorý je často súčasťou Winds na inštaláciu grafickej karty. Druhá - Cosmo OpenGL - je určená pre systémy, ktoré nemajú zrýchlenú grafickú kartu. Knižnica OpenGL je hlavnou podmienkou programu.

recenzia používateľa OpenGL

K OpenGL by mala každá spoločnosť, ktorá vyvíja grafickú aplikáciu, prepísať grafickú časť pre každú platformu operačného systému. Z nich môžete vytvárať rovnaké efekty na rôznych operačných systémoch pomocou akéhokoľvek grafického adaptéra, ktorý podporuje program. OpenGL nastavuje súbor "príkazov" alebo priamo spustiteľných funkcií, z ktorých každý smeruje kreslenie alebo spôsobuje špeciálne efekty. Ich zoznam môže byť vytvorený pre opakované efekty.


OpenGL nezávisí od charakteristík "Winds" každého operačného systému, ale poskytuje špeciálne rutiny pre operačný systém. Dodáva sa s obrovským zoznamom vstavaných funkcií požadovaných prostredníctvom rozhrania API. Patria sem:
  • skryté odstránenie povrchu;
  • alfa-mixovanie (transparentnosť);
  • anti-aliasing;
  • štruktúrované mapovanie;
  • operácie s pixelmi;
  • prehľad a modelovanie transformácií;
  • atmosférické účinky (hmla a dym).
  • Silicon Graphics - vývojári pokročilých grafických pracovných staníc - iniciovali vývoj OpenGL. DEC, Intel, IBM, Microsoft a Sun Microsystems vstúpili do odvetviaKomisia pre architektonické preskúmanie. Pri vývoji aplikácií s využitím API OpenGL nevznikajú žiadne iné náklady ako školenia. Spoločnosť Microsoft ponúka bezplatné preberanie svojich knižníc pre svoje systémy.


    Sada modulov pre Windows

    Aplikácia je dostupná na mnohých systémoch Win32 a Unix. A f90gl je implementácia verejnej domény oficiálnej komunikácie Fortran 90 OpenGL, navrhnutá ako databáza modulov a knižníc, definuje potrebné rozhrania pre funkčnosť programu. Samotný f90gl bol vyvinutý Williamom F. Mitchellom z Technického inštitútu Geertberg v Spojených štátoch. Až donedávna sa OpenGL LF9x mohol vytvoriť iba vo forme staticky prepojených programov zameraných na Visual C. V súčasnosti je k dispozícii oveľa lepšia metóda vďaka úsiliu o odkladanie, ktoré zaviedol Lawson B. Wakefield z Veľkej Británie. Táto implementácia sprístupnila rozhranie OpenGL v rámci WiSK a Winteracter a bola implementovaná na dobrovoľnej nekomerčnej báze. Niektoré knižnice OpenGL DLL, ktoré sú nainštalované v adresári Windows SYSTEM32, sa vyžadujú na pripojenie k knižnici OpenGL. Patria sem nasledujúce:
  • opengl32.dll;
  • glu32.dll;
  • glut32.dll.
  • Prvé dve z týchto knižníc OpenGL (na ich preskúmanie pred inštaláciou) sú štandardnou súčasťou Windows rôznych úprav a Me. Knižnice a moduly f90gl musia byť nainštalované v adresári 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.
  • Kompilácia a zoskupovanie programov f90gl vyžaduje, aby sa adresár LF95 LIB odkazoval na cestu modulu kompilátora a názvy knižníc f90gl na viazanie.

    Obrázkové knižnice

    DevIL používajú vývojári. Podporuje mnoho obrázkových formátov na čítanie a písanie, viac kompilátorov a OS ("Windsor", "Linux", "Mas"). Knižnica má nasledujúcu syntax:
  • FreeImage je knižnica OpenGL s viacerými platformami na sťahovanie obrázkov s podporou veľmi širokého formátu (vrátane niektorých formátov HDR, ako napríklad OpenEXR).
  • OpenImageIO (OIIO) je knižnica pre čítanie a písanie obrázkov, ako aj mnoho súvisiacich tried, nástrojov a aplikácií. Používa sa v animáciách a štúdiách VFX po celom svete, ako aj v niekoľkých komerčných produktoch.
  • SOIL je downloader, ktorý je extrémne malý. C ++, schopný načítať textúry DDS (DDS9 a DDS10) pod licenciou MIT.
  • Glraw poskytuje nástroj príkazového riadku, ktorý premieňa obrazové súbory na nespracované, priamo obsahujúce jednoduché textúrne dáta.
  • Importovanie majetku 3D

    Grafická knižnica OpenGL pre import majetku (Assimp) je prezentovaná ako knižnica s otvoreným zdrojom na import rôznych populárnych trojrozmerných modelov. Najnovšia verzia exportuje súbory typu 3d a je vhodná ako konvertor na všeobecné účely. Existuje niekoľko typov takýchto knižníc:
  • Číta rôzne formáty súborov 3D - COLLADA, vlastné súbory Blender3D, Wavefront Obj (.obj) a mnoho ďalších. Knižnica lib3ds je určená na čítanieSúbory 3ds.
  • ​​
  • Open3mod je prehliadač modelov so systémom Windows. Sťahuje všetky formáty súborov podporované aplikáciou Assimp a je ideálnym riešením pre rýchle overenie 3D majetku.
  • AssetKit (v procese) - OpenGL knižnica je dovozca /vývozca 3D zdrojov, nástroj založený na špecifikáciách COLLADA /glTF. Hlavným zameraním je COLLADA glTF. Plne podporí formáty 141.411.5+, rovnako ako niektoré iné ako knižnicu na prevzatie modelov v OpenGL.
  • Vysoko výkonná 2D /3D grafika

    Grafická knižnica OpenGL Android obsahuje podporu pre vysoko výkonnú 2D a 3D grafiku s otvorenou knižnicou vrátane OpenGL ES API. Aplikácia Android ju podporuje prostredníctvom rozhrania API rozhrania Infrastructure and Native Development Kit (NDK). V platforme pomenovaného operačného systému existujú dve základné triedy, ktoré vám umožňujú vytvárať a manipulovať s grafikou pomocou rozhrania API: GLSurfaceView a GLSurfaceView.Renderer. Ak je zámerom používať OpenGL v aplikácii Android, musíte pochopiť, ako implementovať tieto triedy v akcii. Áno, GLSurfaceView dokáže nakresliť a manipulovať s objektmi pomocou volaní API OpenGL, ako je funkcia SurfaceView. Toto rozhranie definuje metódy potrebné na kreslenie grafiky GLSurfaceView. Používateľ musí implementovať toto rozhranie ako samostatnú triedu a pripojiť GLSurfaceView.setRenderer k inštancii GLSurfaceView. Po vytvorení zobrazenia kontajnera pre OpenGL ES, GLSurfaceView a GLSurfaceView.Renderer môžete spustiť pripojenie knižnice OpenGL a použiť rozhranie API.

    Sada mobilných grafických zariadení

    Implementácie aplikácií sa líšia pre zariadenia so systémom AndroidMedzi podporované rozhrania API patrí kompresia textúry a ďalšie funkcie. Balík rozšírenia Android (AEP) podporuje štandardnú databázu rozšírení. Balenie dohromady podporuje konzistentný súbor funkcií na všetkých zariadeniach, čo umožňuje vývojárom plne využiť najnovší balík grafických návrhov pre mobilné zariadenia. AEP tiež zlepšuje podporu obrázkov, vyrovnávacie pamäťové karty, úložný priestor pre shader a čítače. Pokiaľ ide o aplikáciu na používanie AEP, verzia platformy by ju mala podporovať. Požiadavka na AEP sa vyžaduje aj takto:

    Overenie a výber verzie OpenGL ES

    Niektoré verzie aplikácie sú dostupné v zariadeniach s Androidom. Môžete určiť minimálnu verziu rozhrania API požadovanú aplikáciou v telefóne. API verzia opengl ES 1.0 verzia 2.0 verzia 3.0 poskytuje vysokovýkonné grafické rozhranie pre vytváranie 3D hier, vizualizácie a užívateľských rozhraní. Program OpenGL ES 2.0 je podobný verzii 3.0, ktorá je réžia rozhrania API 2.0 s ďalšími funkciami.
    Programovanie pre rozhranie API 1.0 /1.1 sa výrazne líši od 2.0 a 3.0, a preto vývojári by mali starostlivo preskúmať niektoré faktory pred začatím vývoja s týmito API. Áno, všeobecne 2 a 3 poskytujú rýchlejší grafický výkon ako API ES 1/11. Rozdiel sa však môže líšiť v závislosti od zariadenia Android, na ktorom je program spustený, kvôli rozdielom v hardvérovej implementácii grafického dopravníka.

    Porovnanie s ovládačmi DirectX

    Grafické ovládače Windows DirectX sú podporované lepšie ako OpenGL,napriek tomu, že vývojári zvládajú rýchlejšie. Knižnice OpenGL a DirectX (ich históriu a vyhliadky) spojené s "Microsoft" v skutočnosti rozdiel od OpenGL. V roku 2003 spoločnosť Microsoft uviedla, že program OpenGL sa už nezaujíma. Potom v roku 2005 urobili v prezentácii SIGGRAPH vyhlásenie, že systém Windows Vista odstráni podporu. Kampaň spôsobil zmätok v komunite OpenGL, potom veľa programátorov v profesionálnej grafike prepnutý do režimu DirectX. Akonáhle Vista ešte nebola vydaná, robil hlasné vyhlásenia sú - dodávatelia vytvorili novú výrobnú ovládač (ICD), ktorý znížil vstavanú funkciu. Otvorte zasielané bulletiny s informáciami, ktoré sú stále najlepšou aplikáciou. Napriek tomu už bola ujma spôsobená a verejná dôvera pre OpenGL sa otriasla. V skutočnosti, OpenGL je mocnejšie ako DirectX, podporuje viac platforiem, a má prednosť pre budúce hry. História a vyhliadky knižníc OpenGL a DirectX povedať, že prvý z nich je stále pozitívny:
  • poskytuje možnosť používať grafické funkcie pre operačné systémy, zatiaľ čo DirectX poskytuje iba instantné prvky v najnovších verziách "Vindovs ". Technológia tessellation vyvinutá spoločnosťou Microsoft pre rozhranie DirectX 11 bola rozšírením OpenGL na tri roky. Vďaka tvrdej práci sa podarilo dosiahnuť to, čo DirectX 10 a 11 teraz pracovať tak rýchlo, ako OpenGL a podporuje takmer toľko funkcií. Existuje však jeden veľký problém: nefungujú v systéme Windows XP, ktorý je stále používaný mnohými ľuďmi.
  • Medzi platformami. Mnoho používateľov Lugaru pracujeMac, Linux a Windows XP a nemôžu prehrávať DirectX. Jediný spôsob, ako dodať najnovšiu grafiku pre hráčov Windows XP, je cez 32bitovú knižnicu opengl.
  • Lepšie pre budúce hry. Ide o neziskový otvorený štandard, ktorý je navrhnutý tak, aby umožňoval používateľom na akejkoľvek platforme získať vysokokvalitnú grafiku poskytovanú ich hardvérom. Jeho vývoj sa dnes zrúti ako monopolný korporatívny obrovský útok, ktorý sa snaží dominovať v tomto odvetví. To je dôvod, prečo Direct3D je jediný herný grafický API podporovaný systémom Windows.
  • Nastavenia jazyka C ++ a Visual Studio

    Knižnica OpenGL for c má bezplatnú verziu. Odborníci odporúčajú kompiláciu programov napísaných na ANSI C z OpenGL a GLUT pomocou Dev-C ++. Bloodshed Dev-C ++ je zadarmo kompilátor C ++ a vývojové prostredie pre operačné systémy Windows. Rovnako ako väčšina rovnakého hardvéru, môže byť použitá na zostavovanie ANSI C. Inštaláciou hlavičkových súborov GLUT a knižníc sa používa na písanie programov. Na implementáciu tohto projektu môžete použiť 32-bitový alebo 64-bitový "Windsor". Pred pripojením k dev c knižnice OpenGL, treba titulky Glew, ktoré možno nájsť na internetovej stránke SourceForge rozšírenie Wrangler a freeglut verzia pre Visual Studio:
  • Kliknite na odkaz vnútri obalu freeglut 300 MSVC.
  • Zadajte názov súboru, ktorý chcete stiahnuť.
  • Stiahnite si ju do priečinka s freeglut.
  • Extrahujte a premenujte voľnobežku.
  • Všeobecný inštalačný adresár: C: DEV.
  • Katalóg obsahujúci projekty: C: DEV visual-studio-c ++.
  • Katalóg, v ktorom sa nachádzajúknižnice: C: DEV Lib pre Visual Studio.
  • Otvorte ho a vytvorte prázdny projekt & gt; Šablóny & gt; Visual C ++> Prázdny projekt.
  • Potom napíšte "Name": Shapes2D.
  • Umiestnenie: C: dev visual-studio-c ++.
  • Vytvorte nové riešenie knižnice OpenGL pre Visual Studio. Názov riešenia: BadprogTutorial OK.
  • Projekt Shapes2D bol vytvorený v programe BadprogTutorial.
  • Pridať main.cpp & gt; Kliknite pravým tlačidlom myši "Projekt" & gt; Pridať & gt; Nová položka & gt; Visual C ++> Súbor C ++. Napíšte meno: main.cpp a pridajte.
  • Konfigurácia knižnice GL a OpenGL.
  • Kliknite na myš Shapes2D & gt; "Vlastnosti". V ľavom hornom rohu rozbaľovacej ponuky vyhľadajte "Konfigurácia" a vyberte všetky konfigurácie (namiesto ladenia).
  • Kliknite na "Vlastnosti konfigurácie" & gt; C /C ++> General & gt; "Ďalšie zoznamy investícií". Vpravo je rozbaľovacia ponuka a kliknite na položku Zmeniť.
  • Zobrazilo sa nové okno: "Ďalšie adresáre".
  • Kliknite na ikonu New Line & gt; Prehľadávať a vybrať dve z nasledujúcich priečinkov: C: DEV Lib Glew-1120. C: DEV lib freeglut-300.
  • Kliknite na tlačidlo OK. Použiť používanie knižnice OpenGL vrátane knižníc a priečinkov knižnice.
  • Kliknite pravým tlačidlom na tlačidlo Shapes2D & gt; Parametre & gt; Vlastnosti konfigurácie & gt; Konektor & gt; General & gt; "Ďalšie katalógy knižníc."
  • Vpravo je rozbaľovacia ponuka. Kliknite na položku Upraviť. Zobrazilo sa nové okno: "Ďalšie knižnice".
  • Kliknite na ikonu Nová linka & gt; kliknite na tlačidlo "Recenzie" & gt; vyberte dve nasledujúce priečinky pre 64-bitovú verziu: C: DEV Lib Glew-1120 Lib Release x64 a C: DEV Lib freeglut-300 Lib x64.
  • Kliknite na tlačidlo OK & gt; použite súbory knižnice. Kliknite na myš Shapes2D & gt; Vlastnosti & gt; Vlastnosti konfigurácie & gt; Konektor & gt; Enter ».
  • Vpravo je rozbaľovacia ponuka a kliknite na položku Upraviť.
  • Zobrazilo sa nové okno: "Ďalšie závislosť". Kliknite na bielu oblasť a napíšte: freeglut.lib.
  • Stlačením klávesu Enter prejdete na ďalší riadok: glew32.lib.
  • Kliknite na tlačidlo "Apply" a "OK".
  • Teraz Visual Studio IDE je pripravený pracovať s OpenGL.

    Stiahnutie Dev-C ++

    Tieto usmernenia boli testované na veľkom súbore systémov Windows, dodávané so súbormi potrebné pre OpenGL, ale nie pre súbory potrebné pre nadbytok. Dev-C ++ nefunguje s programom Vista od spoločnosti Microsoft. Postup preberania:
  • Stiahnite si program Dev-C ++ a nainštalujte ho.
  • Získajte Dev-C ++ 5.0 beta 9,2 (499,2) (9,0 MB) od MinGW /GCC 342 (aj keď "beta", to funguje dobre).
  • Teraz je potrebné kliknúť na SourceForge, aby prístup k zoznamu sťahovania stránok a vybrať si jeden.
  • Uložte tento súbor na miesto ako C: Temp.
  • Po dokončení sťahovania kliknite na tlačidlo "otvorené" a spustite proces inštalácie. Alebo prejdite na C: Temp a dvakrát kliknite na súbor devcpp499.2_setup.exe.
  • Vyberte nastavenie "default". Prijať navrhované miesto určenia pre inštaláciu.
  • odpoveď "áno", ak inštalácia sa spýta, či chcete nainštalovať DEV-CPP pre všetkých užívateľov. Na obrazovke sa zobrazí hlásenie o dokončení inštalácie. Kliknite na tlačidlo Dokončiť. Zobrazí sa obrazovka s prvou konfiguráciou.
  • Zvoľte "Angličtina" a "Nový vzhľad". nakliknite na tlačidlo Áno na nasledujúcich obrazovkách. Program sa spustí automaticky.
  • Kliknite na "Súbor" a potom vytvorte projekt.
  • Vyberte názov projektu (napríklad "myProject").
  • Kliknite na "C Project", "Empty Project" a OK.
  • V okne "Vytvoriť nový projekt" kliknite na tlačidlo "Uložiť".
  • Kliknite na "File /New /Output File" a kliknite na "Yes" v "Add File to Current Project".
  • Kliknite na "File /Save As" a uložte súbor ako "hello.c" (alebo iný názov). Je dôležité overiť, či je prípona súboru .c. Akékoľvek ďalšie rozšírenie (napríklad navrhovaný .cpp) bude mať problémy s kompiláciou.
  • Kliknite na položku "Spustiť /Kompilovať a spustiť". Program kompiluje, spúšťa a zapisuje svoj výstup do okna DOSu.
  • Vyskúšajte iný spôsob spustenia programu (po jeho zostavovaní) - spustite okno DOSu mimo systému Dev-Cpp.
  • Prejdite do podadresára, ktorý obsahuje projekt a zadajte príkaz hello.exe.
  • Nájdite program Dev-C ++ špecifikovaný v sekcii "Programy" v rozbaľovacej ponuke.
  • Teraz bude môcť používateľ vytvoriť, kompilovať a spustiť programy C (a C ++). Bude mať súbory, dll knižnice pre OpenGL (a všetky ostatné štandardné balíky), ale nie GLUT. GLUT spravuje okná a ďalšie komponenty rozhrania, ktoré sú pre ne potrebné, a rozdeľuje ich.

    Inštalácia a spustenie programu v systéme Windows 7

    Implementačná platforma pre Visual Studio 2010 - integrovaná. Streda (IDE) so systémom Windows 7. Musíte stiahnuť a nainštalovať program Microsoft Visual C ++ 2010 Express. Po úspešnom nainštalovaní programu Visual C ++ postupujte nasledovneAkcie:
  • Stiahnite a rozbaľte súbor freeglut-MSVC-281-1.
  • Otvorte uvítaciu obrazovku programu Visual C ++ 2010 v ponuke Štart.
  • Vytvorte nový projekt výberom File - & gt; Nové - & gt; Project.
  • V paneli Inštalované šablóny vyberte Win32 a potom aplikáciu konzoly Win32 s nasledujúcim panelom.
  • Zadajte názov projektu a vyberte priečinok, ktorý chcete uložiť.
  • Zrušte začiarknutie políčka "Vytvoriť adresár na rozlíšenie."
  • Kliknutím na tlačidlo OK otvoríte Sprievodcu uvítaním a dialógom "Nastavenia programu" v dialógovom okne nastavení.
  • Zrušte začiarknutie políčka "Predkompilovaný nadpis", začiarknite políčko "Vyprázdniť projekt" a zvoľte "Aplikácia konzoly".
  • Kliknutím na tlačidlo Dokončiť zobrazíte nové okno projektu OpenGL pre Windows 7.
  • Kliknite na zdrojové súbory a vyberte položku Pridať ->. Nová položka otvorí dialógové okno.
  • V paneli Inštalované šablóny a "C ++ súbor" (.cpp) zvoľte "Code" pomocou nasledujúceho panelu.
  • Názov súboru a kliknutie na tlačidlo "Pridať" zobrazuje prázdny riadok v okne projektu s názvom "Obľúbený názov".
  • Uložte a vytvorte projekt tým, že prejdete na Debug - & gt; Vytvorte riešenie Potom spustite program pomocou Debug - & gt; Spustite ladenie
  • V prípade, že grafická karta nepodporuje 4.3 OpenGL aplikácii sa používa, môže zostaviť, ale nedá spustiť, pretože systém nemôže poskytovať OpenGL 4.3 zobrazovanie kontextové sadu príkazov glutInitContextVersion (4. 3) Hlavný postup. V tomto prípade môžete nahradiť verziu 4.3 s 3.3 alebo dokonca 2.1. Aj keď takmer všetky platformy podporujú OpenGL API, musia vývojárivytvárať vlastné programy pre rôzne platformy. Je to spôsobené tým, že grafika je len časťou programu, zatiaľ čo iné komponenty sa medzi jednotlivými platformami stále líšia. Ak to chcete vyriešiť, WebApp bol navrhnutý na spustenie celých aplikácií vo webovom prehliadači, ako sú prehliadače Chrome a Firefox. Jeden program teda môže pracovať na všetkých platformách s kompatibilným prehliadačom.
    Zatiaľ je na strane klienta všetko prenesené zo serverov "za behu", takže ďalšia inštalácia programu sa nevyžaduje. Špeciálna API s názvom WebGL bola tiež vytvorená pre Internet a založená na ES, podmnožine OpenGL, navrhnutom špeciálne pre mobilné zariadenia. Na dosiahnutie toho istého cieľa pre VR bol iný API nazývaný WebVR navrhnutý tak, aby ľahko priniesol skúsenosť VR prehliadačom bez ohľadu na platformu.

    Súvisiace publikácie