Grafická knihovna OpenGL

Open Graphics Library je standardní grafická aplikace pro 2D a 3D vizualizaci, vyvinutá v roce 1992. Opengl přichází ve dvou variantách. První z nich je Microsoft OpenGL, který je často součástí Winds a instaluje grafickou kartu. Druhý - Cosmo OpenGL - je určen pro systémy, které nemají zrychlenou grafickou kartu. Knihovna OpenGL je hlavní podmínkou programu.

recenze uživatele OpenGL

K OpenGL by měla každá společnost, která vyvíjí grafickou aplikaci, přepsat grafickou část pro každou platformu operačního systému. Z nich můžete vytvářet stejné efekty v různých operačních systémech pomocí libovolného grafického adaptéru, který podporuje program. OpenGL nastavuje sadu příkazů nebo přímo spustitelných funkcí, z nichž každá řídí kreslení nebo způsobuje speciální efekty. Jejich seznam může být vytvořen pro opakované efekty.


OpenGL nezávisí na vlastnostech "Winds" každého operačního systému, ale poskytuje speciální rutiny pro operační systém. Dodává se s obrovským seznamem vestavěných funkcí, které jsou požadovány prostřednictvím rozhraní API. Patří sem:
  • skryté odstranění povrchu;
  • alfa-mixování (průhlednost);
  • anti-aliasing;
  • mapování texturou;
  • operace s pixely;
  • přezkoumání a modelování transformací;
  • atmosférické účinky (mlha a kouř).
  • Silicon Graphics - vývojáři pokročilých grafických pracovních stanic - zahájili vývoj OpenGL. DEC, Intel, IBM, Microsoft a Sun Microsystems vstoupily do průmysluArchitektonická revizní komise. Při vývoji aplikací pomocí API OpenGL nevznikají žádné jiné náklady než školení. Společnost Microsoft nabízí bezplatné stažení svých knihoven pro své systémy.


    Sada modulů pro Windows

    Aplikace je k dispozici na mnoha systémech Win32 a Unix. F90gl - implementace veřejné doméně oficiálních vztahů Fortran 90 OpenGL, rámováno v databázi modulů a knihoven, určit nezbytné rozhraní k funkčnosti aplikace. Samotný f90gl byl vyvinut Williamem F. Mitchellem z Geertberského technologického institutu ve Spojených státech. Až do nedávné doby, OpenGL LF9x mohl vytvořit stejně jako staticky propojené programy zaměřené na Visual C v současné době k dispozici, jsou mnohem šetrnější způsob, jak přenést přes snahy, implementována Lawson B. Wakefield ve Velké Británii. Tato implementace zpřístupnila rozhraní OpenGL pod WiSK a Winteracter a byla implementována na dobrovolném, neobchodním základě. Některé knihovny OpenGL DLL, které jsou nainstalovány v adresáři Windows SYSTEM32, se vyžadují k připojení k knihovně OpenGL. Ty zahrnují následující:
  • opengl32.dll;
  • glu32.dll;
  • glut32.dll.
  • První dva z těchto knihoven OpenGL (studie je dříve, než vyžaduje instalace), což je standardní součástí Windows, a různé modifikace Me. Knihovny a moduly f90gl musí být nainstalovány v adresáři LIF 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.
  • Kompilace a sdružování programů f90gl vyžaduje, aby byl adresář LF95 LIB odkazován na cestu kompilátorového modulu a názvy knihoven f90gl pro vazbu.

    Knihovny obrázků

    DevIL používají vývojáři. Podporuje mnoho obrazových formátů pro čtení a zápis, více kompilátorů a OS ("Windsor", "Linux", "Mas"). Knihovna má následující syntaxi:
  • FreeImage je křížová platforma OpenGL pro stahování obrázků s podporou velmi širokého formátu (včetně některých formátů HDR, jako je OpenEXR).
  • OpenImageIO (OIIO) je knihovna pro čtení a zápis obrázků, stejně jako mnoho souvisejících tříd, utilit a aplikací. To je široce používán v animacích a VFX studiích po celém světě, stejně jako vložený do několika komerčních produktů.
  • SOIL je stahovací zařízení mezi platformami, které je extrémně malé. C ++, schopný nakládat textury DDS (DDS9 a DDS10) pod licenci MIT.
  • Glraw poskytuje nástroj příkazového řádku, který převádí obrazové soubory do nezpracovaných, přímo obsahující data prostého textu.
  • Import 3D majetku

    Grafická knihovna OpenGL pro import aktiv (Assimp) je prezentována jako knihovna open source pro import různých populárních trojrozměrných modelů. Nejnovější verze exportuje soubory 3D a je vhodná jako konvertor pro všeobecné účely. Existuje několik typů takových knihoven:
  • Dokáže číst různé formáty souborů 3D - COLLADA, vlastní soubory Blender3D, Wavefront Obj (.obj) a mnoho dalších. Knihovna lib3ds je určena k čtení3ds soubory.
  • ​​
  • Open3mod je prohlížeč modelů se systémem Windows. Stahuje všechny formáty souborů podporované nástrojem Assimp a je ideální pro rychlé ověření 3D aktiv.
  • AssetKit (v procesu) - OpenGL knihovna je dovozcem /exportérem 3D zdrojů, nástroj založený na specifikacích COLLADA /glTF. Hlavním zaměřením je COLLADA glTF. Plně podpoří formáty 141.411.5+, stejně jako některé další jako knihovnu pro stahování modelů v OpenGL.
  • Vysoce výkonná 2D /3D grafika

    Grafická knihovna OpenGL pro Android obsahuje podporu vysoce výkonné 2D a 3D grafiky s otevřenou knihovnou včetně OpenGL ES API. Aplikace Android jej podporuje jak prostřednictvím API rozhraní Infrastructure Interface (API rozhraní Infrastructure Interface), tak i pomocí Native Development Kit (NDK). V platformě pojmenovaného operačního systému existují dvě základní třídy, které umožňují vytvářet a manipulovat s grafikou pomocí rozhraní API: GLSurfaceView a GLSurfaceView.Renderer. Pokud má být aplikace OpenGL používána v aplikaci Android, musíte pochopit, jak tyto třídy provádět v akci. Ano, GLSurfaceView může kreslit a manipulovat s objekty pomocí volání OpenGL API, jako je funkce SurfaceView. Toto rozhraní definuje metody potřebné pro kreslení grafiky GLSurfaceView. Uživatel musí implementovat toto rozhraní jako samostatnou třídu a připojit GLSurfaceView.setRenderer ke instanci GLSurfaceView. Po vytvoření kontejnerového zobrazení pro OpenGL ES, GLSurfaceView a GLSurfaceView.Renderer můžete spustit připojení knihovny OpenGL a použít rozhraní API.

    Sada mobilních grafických zařízení

    Implementace aplikací se pro zařízení Android lišíMezi podporované rozhraní API patří komprese textury a další sady funkcí. Balík rozšíření pro systém Android (AEP) podporuje standardní databázi rozšíření. Balení dohromady podporuje konzistentní sadu funkcí na všech zařízeních, což umožňuje vývojářům plně využívat nejnovější balíček mobilních grafických návrhů. AEP také zlepšuje podporu obrazu, vyrovnávací paměti, úložiště shaderů a čítače. Pro žádost o použití AEP by měla verze platformy podporovat. Požadavek na AEP je také vyžadován takto:

    Ověření a volba verze OpenGL ES

    Na zařízeních Android jsou k dispozici několik verzí aplikace. Můžete specifikovat minimální verzi API požadované aplikací v telefonu. Verze rozhraní API opengl ES 1.0 verze 2.0 verze 3.0 poskytuje vysoce výkonná grafická rozhraní pro vytváření 3D herních, vizualizačních a uživatelských rozhraní. Program OpenGL ES 2.0 je podobný verzi 3.0, což je režie rozhraní API 2.0 s dalšími funkcemi.
    Programování pro rozhraní API 1.0 /1.1 se výrazně liší od 2.0 a 3.0, a proto by vývojáři měli pečlivě prozkoumat některé faktory dříve, než se začnou vyvíjet s těmito API. Ano, obecně 2 a 3 poskytují rychlejší grafický výkon než API ES 1/11. Rozdíl se však může lišit v závislosti na zařízení Android, ve kterém je program spuštěn, kvůli rozdílům v hardwarové implementaci grafického dopravníku.

    Porovnání s ovladači DirectX

    Ovladače grafiky Windows DirectX jsou podporovány lépe než OpenGL,i přes to, že vývojáři řídí rychleji. Knihovny OpenGL a DirectX (jejich historii a vyhlídky) spojené s „Microsoft“ ve skutečnosti rozdíl od OpenGL. V roce 2003 společnost Microsoft oznámila, že již nemá zájem o plány OpenGL. V roce 2005 se na prezentaci SIGGRAPHu vyjádřili, že systém Windows Vista odstraní svou podporu. Kampaň způsobil zmatek v komunitě OpenGL, pak mnoho programátorů v profesionální grafice přepnut do režimu DirectX. Jakmile Vista ještě nebyla vydána, dělal hlasité prohlášení jsou - dodavatelé vytvořili novou výrobní ovladač (ICD), který snížil vestavěnou funkci. Otevřete zaslané informační bulletiny s informacemi, které jsou stále nejlepšími aplikacemi. Poškození však již bylo způsobeno a veřejná důvěra v OpenGL se otřásla. Ve skutečnosti, OpenGL je mocnější než DirectX, podporuje více platforem, a má přednost pro budoucí hry. Historie a vyhlídky knihoven OpenGL a DirectX říci, že první z nich je stále pozitivní:
  • poskytuje možnost používat grafické funkce pro operační systémy, zatímco DirectX poskytuje pouze instantní prvky v nejnovějších verzích „Vindovs »Informace o výrobku Technologie tessellation vyvinutá společností Microsoft pro rozhraní DirectX 11 byla tříletá rozšíření OpenGL. Díky tvrdé práci se podařilo dosáhnout toho, co DirectX 10 a 11 nyní pracovat tak rychle, jak OpenGL a podporuje téměř tolik funkcí. Existuje však jeden velký problém: nefungují v systému Windows XP, který je stále používán mnoha lidmi.
  • Křížová platforma. Mnoho uživatelů Lugaru pracujeMac, Linux a Windows XP a nemohou přehrávat DirectX. Jediný způsob, jak dodat nejnovější grafiku pro hráče Windows XP, je prostřednictvím 32bitové knihovny opengl.
  • Lepší pro budoucí hry. Jedná se o neziskový otevřený standard, který je navržen tak, aby umožňoval uživatelům na libovolné platformě přijímat vysoce kvalitní grafiku poskytovanou jejich hardwarem. Jeho vývoj se dnes zhroutí jako monopolní podnikový obrovský útok, který se snaží ovládnout průmysl. To je důvod, proč Direct3D je jediný herní grafický API podporovaný systémem Windows.
  • Nastavení jazyka C ++ a Visual Studio

    Knihovna OpenGL for c má bezplatnou verzi. Odborníci doporučují kompilaci programů napsaných na ANSI C z OpenGL a GLUT pomocí Dev-C ++. Bloodshed Dev-C ++ je zdarma kompilátor C ++ a vývojové prostředí pro operační systémy Windows. Stejně jako většina stejného hardwaru, může být použita ke kompilaci ANSI C. Instalací GLUT hlavičkových souborů a knihoven se používá k psaní programů. Pro implementaci tohoto projektu můžete použít 32bitový nebo 64bitový "Windsor". Před připojením k dev c knihovny OpenGL, je třeba titulky Glew, které lze nalézt na internetových stránkách SourceForge rozšíření Wrangler a freeglut verze pro Visual Studio:
  • Klikněte na odkaz uvnitř obalu freeglut 300 msvc.
  • Zadejte název souboru, který chcete stáhnout.
  • Stáhněte si ho ve složce s freeglut.
  • Extrahujte a přejmenujte freeglut.
  • Obecný instalační adresář: C: DEV.
  • , katalog, který obsahuje projekty: C: DEV vizuální-studio-C ++.
  • Katalog, ve kterém jsouknihovny: C: DEV Lib pro Visual Studio.
  • Otevřete ji a vytvořte prázdný projekt & gt; Šablony & gt; Visual C ++> Prázdný projekt.
  • Poté napište "Name": Shapes2D.
  • Umístění: C: dev visual-studio-c ++.
  • Vytvořte nové řešení knihovny OpenGL pro Visual Studio. Název řešení: BadprogTutorial OK.
  • Projekt Shapes2D byl vytvořen v modulu BadprogTutorial.
  • Přidat main.cpp & gt; Klikněte pravým tlačítkem myši na "Projekt" & gt; Přidat & gt; Nová položka & gt; Visual C ++> Soubor C ++. Napište jméno: main.cpp a přidejte.
  • Konfigurace knihoven GL a OpenGL.
  • Klepněte na tlačítko Shapes2D & gt; "Vlastnosti". V levém horním rohu rozbalovací nabídky vyberte "Konfigurace" a vyberte všechny konfigurace (namísto ladění).
  • Klikněte na "Vlastnosti konfigurace" & gt; C /C ++> General & gt; "Další adresáře investic". Vpravo je rozbalovací nabídka a klikněte na tlačítko Změnit.
  • Objevilo se nové okno: "Další adresáře".
  • Klikněte na ikonu Nová řada & gt; Tlačítko Procházet a vyberte dvě z následujících složek: C: DEV Lib Glew-1120. C: DEV lib freeglut-300.
  • Klepněte na tlačítko OK. Použití knihovny OpenGL, včetně knihoven, knihovních složek.
  • Klepněte pravým tlačítkem myši Shapes2D & gt; Parametry & gt; Vlastnosti konfigurace & gt; Konektor & gt; General & gt; "Další katalogy knihoven."
  • Vpravo je rozbalovací nabídka. Klikněte na Upravit. Objevilo se nové okno: "Další knihovny".
  • Klikněte na ikonu Nová řada & gt; klikněte na tlačítko "recenze" & gt; vyberte následující dvě složky pro 64bitovou verzi: C: DEV Lib Glew-1120 Lib Release x64 a C: DEV Lib freeglut-300 Lib x64.
  • Klikněte na tlačítko OK & gt; použít soubory knihovny. Klepněte na myši Shapes2D & gt; Vlastnosti & gt; Vlastnosti konfigurace & gt; Konektor & gt; Zadejte ».
  • Vpravo je rozbalovací nabídka a klikněte na tlačítko Upravit.
  • Objevilo se nové okno: "Další závislost". Klikněte na bílou oblast a napište: freeglut.lib.
  • Stisknutím klávesy Enter přejdete na další řádek: glew32.lib.
  • Klikněte na tlačítko "Použít" a "OK".
  • Visual Studio IDE je nyní připraven pracovat s OpenGL.

    Stáhnout Dev-C ++

    Tyto pokyny byly testovány na velkém množství systémů Windows, které se dodávají se soubory požadovanými pro OpenGL, ale ne pro soubory požadované pro GLUT. Dev-C ++ nepracuje s aplikací Vista od společnosti Microsoft. Postup stahování:
  • Stáhněte si aplikaci Dev-C ++ a nainstalujte ji.
  • Získejte službu Dev-C ++ 5.0 beta 9.2 (499.2) (9.0 MB) od Mingw /GCC 342 (ačkoli je to beta, funguje to dobře).
  • Nyní musíte kliknout na SourceForge a přejdete do seznamu stahování a vyberte jeden z nich.
  • Uložit tento soubor v místě jako C: Temp.
  • Po dokončení stahování klikněte na tlačítko "Otevřít" a spusťte proces instalace. Nebo přejděte na C: Temp a poklepejte na soubor devcpp499.2_setup.exe.
  • Vyberte nastavení "výchozí". Přijměte navrhované místo určení pro instalaci.
  • Odpověď: "Ano", když se instalace zeptá, zda chcete nainstalovat Dev-cpp pro všechny uživatele. Na obrazovce se zobrazí zpráva, že instalace je dokončena. Klikněte na tlačítko Dokončit. Objeví se první obrazovka konfigurace.
  • Zvolte možnost "Angličtina" a "Nový vzhled". Atklikněte na Ano na následujících obrazovkách. Program se spustí automaticky.
  • Klikněte na "Soubor" a pak vytvořte projekt.
  • Zvolte název projektu (například "myProject").
  • Klikněte na "Projekt C", "Prázdný projekt" a OK.
  • V okně "Vytvořit nový projekt" klikněte na tlačítko "Uložit".
  • Klikněte na "Soubor /Nový /výstupní soubor" a klikněte na "Ano" v "Přidat soubor do aktuálního projektu".
  • Klikněte na "Soubor /Uložit jako" a uložte soubor jako "hello.c" (nebo jiný název). Je důležité ověřit, zda je přípona souboru .c. Jakékoliv jiné rozšíření (například navržená .cpp) budou mít problémy s kompilací.
  • Klikněte na tlačítko Spustit /Spočítat a spustit. Program kompiluje, spouští a zapisuje svůj výstup do okna DOSu.
  • Vyzkoušejte jiný způsob spuštění programu (po jeho sestavení) - spusťte okno DOSu mimo systém Dev-Cpp.
  • Přejděte do podadresáře obsahujícího projekt a zadejte příkaz hello.exe.
  • Najděte službu Dev-C ++, která je uvedena v části "Programy" v místní nabídce.
  • Nyní bude uživatel schopen vytvářet, kompilovat a spouštět programy C (a C ++). Bude mít soubory, dll knihovny pro OpenGL (a všechny ostatní standardní balíky), ale ne GLUT. GLUT spravuje okna a další součásti rozhraní, které jsou pro ni potřebné, a rozděluje je.

    Instalace a spuštění programu v systému Windows 7

    Implementační platforma pro Visual Studio 2010 - integrovaná. Středa (IDE) se systémem Windows 7. Musíte stáhnout a nainstalovat Microsoft Visual C ++ 2010 Express. Po úspěšné instalaci Visual C ++ postupujte podle následujících krokůAkce:
  • Stáhněte a rozbalte soubor freeglut-MSVC-281-1.
  • Otevřete uvítací obrazovku Visual C ++ 2010 z nabídky Start.
  • Vytvořte nový projekt výběrem File - & gt; Nové - & gt; Projekt
  • Zvolte Win32 v panelu Instalované šablony a potom konzolu Win32 konzoly s následujícím panelem.
  • Zadejte název projektu a vyberte složku, kterou chcete uložit.
  • Zrušte zaškrtnutí políčka "Vytvořit adresář pro rozlišení".
  • Klepnutím na tlačítko OK otevřete Průvodce uvítáním a dialogové okno "Nastavení programu" pro dialogové okno nastavení.
  • Zrušte zaškrtnutí políčka "Předkompilovaný nadpis", zaškrtněte políčko "Vyprázdnit projekt" a vyberte "Aplikace konzoly".
  • Klepnutím na tlačítko Dokončit zobrazíte nové okno projektu OpenGL pro systém Windows 7.
  • Klepněte na zdrojové soubory a vyberte možnost Přidat ->. Nová položka otevře dialog.
  • V panelu Instalované šablony "a" C ++ soubor "(.cpp) zvolte" Kód "s následujícím panelem.
  • Název souboru a kliknutí na tlačítko "Přidat" zobrazuje prázdný pruh s kódem v okně projektu s názvem "Oblíbené jméno".
  • Uložte a vytvořte projekt tím, že přejdete na Debug - & gt; Vytvořte řešení Potom spusťte program pomocí Debug - & gt; Spusťte ladění
  • V případě, že grafická karta nepodporuje 4.3 OpenGL aplikaci se používá, může sestavit, ale nelze spustit, protože systém nemůže poskytovat OpenGL 4.3 zobrazování kontextové sadu příkazů glutInitContextVersion (4. 3) Hlavní postup. V takovém případě můžete nahradit verzi 4.3 s 3.3 nebo dokonce 2.1. Přestože téměř všechny platformy podporují OpenGL API, vývojáři ji potřebujívytvořit vlastní programy pro různé platformy. To je způsobeno skutečností, že grafika je pouze součástí programu, zatímco jiné komponenty se stále liší mezi platformami. Chcete-li to vyřešit, byl WebApp navržen tak, aby spustil celé aplikace ve webovém prohlížeči, jako jsou Chrome a Firefox. Jeden program tedy může fungovat na všech platformách pomocí kompatibilního prohlížeče.
    Mezitím, na straně klienta se přenáší "on the fly" s servery, takže následovat instalační program je vyžadován. Speciální rozhraní API s názvem WebGL bylo také vytvořeno pro internet a založeno na ES, což je podskupina OpenGL, určená speciálně pro mobilní zařízení. Dosáhnout podobného cíle pro VR, nové API, nazvaný WebVR, byl navržen tak, aby snadno přinést zkušenosti prohlížečů VR, bez ohledu na platformu.

    Související publikace