Array ( [0] => 15482855 [id] => 15482855 [1] => cswiki [site] => cswiki [2] => OpenGL [uri] => OpenGL [3] => Glxinfo example screenshot.png [img] => Glxinfo example screenshot.png [4] => [day_avg] => [5] => [day_diff] => [6] => [day_last] => [7] => [day_prev_last] => [8] => [oai] => [9] => [is_good] => [10] => [object_type] => [11] => 1 [has_content] => 1 [12] => OpenGL, což je zkratka pro Open Graphics Library, je mocný a výkonný nízkoúrovňový API (Application Programming Interface) pro 2D a 3D grafiku. Jeho použití se rozprostírá napříč mnoha oblastmi, jako jsou počítačové hry, simulace, CAD (počítačem podporované navrhování) a vizualizace dat. OpenGL je známý svou širokou kompatibilitou a přenositelností, což znamená, že aplikace napsané s využitím tohoto API mohou běžet na různých platformách bez nutnosti rozsáhlých úprav. Jednou z nejvíce inspirativních vlastností OpenGL je jeho otevřený charakter, což znamená, že se na jeho vývoji podílí celá řada lidí a organizací. Tato otevřenost podporuje inovace a umožňuje uživatelům a vývojářům sdílet nápady a zlepšení, což vede k trvalému pokroku v oblasti grafiky. OpenGL je také velmi všestranný a umožňuje vývojářům vytvářet rozsáhlé a komplexní grafické aplikace. Poskytuje široké spektrum funkcí, které usnadňují práci s 3D modely, texturami a efekty osvětlení. Tímto způsobem nabízí inspiraci nejen profesionálům, ale také začínajícím vývojářům, kteří mají příležitost rozvíjet své dovednosti a tvořit jedinečné projekty. Spolu s rostoucí popularitou moderních technik, jako jsou virtuální a rozšířená realita, se OpenGL stává stále relevantnějším nástrojem pro grafické inovace. Jeho schopnost efektivně využívat hardware zajišťuje hladký výkon a realističnost, což přispívá k obohacení uživatelských zkušeností. Přestože se na trhu objevují alternativní grafické API, jako je Vulkan nebo Direct3D, OpenGL zůstává silným nástrojem pro vývojáře, kteří ocení jeho jednoduchost, robustnost a širokou komunitu. Vznikající technologie a myšlenky, které se ukazují ve světě grafiky, jsou inspirovány otevřeností a přístupnost OpenGL, což dokazuje jeho význam v dynamicky se vyvíjejícím světě grafiky a vizualizace. [oai_cs_optimisticky] => OpenGL, což je zkratka pro Open Graphics Library, je mocný a výkonný nízkoúrovňový API (Application Programming Interface) pro 2D a 3D grafiku. Jeho použití se rozprostírá napříč mnoha oblastmi, jako jsou počítačové hry, simulace, CAD (počítačem podporované navrhování) a vizualizace dat. OpenGL je známý svou širokou kompatibilitou a přenositelností, což znamená, že aplikace napsané s využitím tohoto API mohou běžet na různých platformách bez nutnosti rozsáhlých úprav. Jednou z nejvíce inspirativních vlastností OpenGL je jeho otevřený charakter, což znamená, že se na jeho vývoji podílí celá řada lidí a organizací. Tato otevřenost podporuje inovace a umožňuje uživatelům a vývojářům sdílet nápady a zlepšení, což vede k trvalému pokroku v oblasti grafiky. OpenGL je také velmi všestranný a umožňuje vývojářům vytvářet rozsáhlé a komplexní grafické aplikace. Poskytuje široké spektrum funkcí, které usnadňují práci s 3D modely, texturami a efekty osvětlení. Tímto způsobem nabízí inspiraci nejen profesionálům, ale také začínajícím vývojářům, kteří mají příležitost rozvíjet své dovednosti a tvořit jedinečné projekty. Spolu s rostoucí popularitou moderních technik, jako jsou virtuální a rozšířená realita, se OpenGL stává stále relevantnějším nástrojem pro grafické inovace. Jeho schopnost efektivně využívat hardware zajišťuje hladký výkon a realističnost, což přispívá k obohacení uživatelských zkušeností. Přestože se na trhu objevují alternativní grafické API, jako je Vulkan nebo Direct3D, OpenGL zůstává silným nástrojem pro vývojáře, kteří ocení jeho jednoduchost, robustnost a širokou komunitu. Vznikající technologie a myšlenky, které se ukazují ve světě grafiky, jsou inspirovány otevřeností a přístupnost OpenGL, což dokazuje jeho význam v dynamicky se vyvíjejícím světě grafiky a vizualizace. ) Array ( [0] => {{Infobox - software [1] => | jméno = OpenGL [2] => | logo = [3] => | velikost loga = [4] => | velikost obrázku = [5] => | alt = [6] => | vývojář = [[Khronos Group]] [7] => | aktuální verze = 4.6 [8] => | datum aktuální verze = [[31. červenec|31. července]] [[2017]][https://www.khronos.org/opengl/ The Industry's Foundation for High Performance Graphics] [9] => | operační systém = [[Multiplatformní software|multiplatformní]] [10] => | typ softwaru = [[API]], [[framework]] [11] => | licence = [12] => | web = https://www.khronos.org/opengl/ [13] => }} [14] => '''OpenGL''' (''Open Graphics Library'') je průmyslový standard specifikující multiplatformní rozhraní ([[API]]) pro tvorbu aplikací [[počítačová grafika|počítačové grafiky]]. Používá se při tvorbě [[počítačová hra|počítačových her]], [[Computer aided design|CAD]] programů, aplikací [[virtuální realita|virtuální reality]] či [[vědeckotechnická vizualizace|vědeckotechnické vizualizace]] apod. [15] => [16] => Standard OpenGL spravuje [[konsorcium]] označované jako ''ARB'' (''Architecture Review Board''), jehož členy jsou firmy jako např. [[NVIDIA]], [[Silicon Graphics|SGI]], [[Microsoft]], [[AMD]] atd. [17] => [18] => Nástupcem OpenGL má být [[Vulkan]]. [19] => [20] => == Implementace == [21] => Specifikace OpenGL popisuje abstraktní [[API]] pro vykreslování 2D a 3D grafiky. [[Implementace]] OpenGL existují pro prakticky všechny počítačové platformy, na kterých je možno vykreslovat grafiku. Kromě implementací vestavěných v grafickém [[hardware]] (na [[grafická karta|grafické kartě]]) existují také softwarové implementace, které umožňují používat OpenGL i na hardwaru, který ho sám o sobě nepodporuje (ale obvykle nabízejí nižší výkon). Příkladem takové implementace je [[Otevřený software|open source]] knihovna [[Mesa 3D]], která ovšem z licenčních důvodů nemůže být označena jako implementace OpenGL, ale pouze jako implementace API, které je „velmi blízké“ OpenGL. [22] => [23] => == Struktura OpenGL == [24] => Základní funkcí OpenGL je vykreslování do [[framebuffer]]u. Umožňuje vykreslování různých základních primitiv ([[bod]]ů, [[úsečka|úseček]], [[mnohoúhelník]]ů a [[obdélník]]ů [[pixel]]ů) v několika různých režimech. Veškerá činnost OpenGL se řídí vydáváním příkazů pomocí volání funkcí a procedur (kterých OpenGL definuje cca 250). V OpenGL se nepoužívá [[objektově orientované programování]]. Jednotlivá primitiva jsou definována pomocí vrcholů – každý z nich definuje bod, koncový bod hrany nebo vrchol mnohoúhelníku. Každý vrchol má přiřazena data (obsahující [[soustava souřadnic|souřadnice]] umístění bodu, barvy, [[normála|normály]] a [[texturování|texturovací]] souřadnice). [25] => [26] => Rozhraní OpenGL je založeno na architektuře [[klient–server]] – program (klient) vydává příkazy, které grafický adaptér (server) vykonává. Díky této architektuře je možné, aby program fyzicky běžel na jiném počítači než na tom, na kterém se příkazy vykonávají, a příkazy se předávaly prostřednictvím [[počítačová síť|počítačové sítě]]. [27] => [28] => OpenGL je také multiplatformní software, což mu přináší nezávislost na použitém jazyce. Specifikace OpenGL neříká nic na téma získávání a řízení kontextu platformy, a nechává tak tuto problematiku na podkladovém [[Okenní systém|okenním systému]]. Z toho důvodu je OpenGL čistě zaměřen na vykreslování, přičemž neposkytuje žádné API pro vstup, audio a vytváření oken. [29] => [30] => == Vývoj == [31] => OpenGL je vyvíjející se [[API]]. Nové verze OpenGL jsou pravidelně vydávány skupinou [[Khronos Group]]. Každá taková verze rozšiřuje API o podporu pro mnoho dalších vlastností a funkcí. Detaily přínosu (nových vlastností) každé verze jsou rozhodnuty mezi členy skupiny Khronos Group, kterými jsou výrobci grafických karet, návrháři operačních systémů, známé technologické společnosti jako například [[Mozilla]] či [[Google]]. [32] => [33] => Kromě vlastností požadovaných samotnou jádrovou API, mohou členové Khronos Group poskytovat další rozšiřující funkcionality, zavádět nové funkce, konstanty, a také uvolnit nebo odstranit omezení stávajících funkcí OpenGL. Všechna uvedená rozšíření jsou shromažďována a definována v registru [https://www.opengl.org/registry/ OpenGL Registry]. [34] => [35] => Každé rozšíření je opatřeno krátkým identifikátorem založeným na jménu společnosti, která ho vytvořila. Kupříkladu identifikátor [[Nvidia]] je NV, což může být součástí celého jména rozšíření GL_NV_half_float, konstanty GL_HALF_FLOAT_NV a funkce glVertex2hNV(). Pokud se více členů dohodne implementovat stejnou funkcionalitu využívající stejnou API, může být zavedeno sdílené rozšíření využívající identifikátor EXT. V těchto případech se může také stát, že [[konsorcium]] Architecture Review Board skupiny Khronos Group vydá k rozšíření svůj výslovný souhlas, a identifikátor nese značku ARB. [36] => [37] => == Dokumentace == [38] => OpenGL API se těší vysoké popularitě také díky své kvalitně zpracované oficiální dokumentaci. Konsorcium ARB vydalo sérii příruček společně s aktualizovanými specifikacemi, které sledují změny v API. Tyto příručky jsou obecně známé barvami svých vazeb: [39] => [40] => === Červená kniha (The Red Book) === [41] => OpenGL programovací průvodce, 8. vydání. {{ISBN|0-321-77303-9}} [42] => [43] => Tutoriál a příručka. [44] => [45] => === Oranžová kniha (The Orange Book) === [46] => OpenGL [[Shader jazyk]], 3. vydání. {{ISBN|0-321-63763-1}} [47] => [48] => Tutoriál a příručka pro [[GLSL]]. [49] => [50] => '''''Historické knihy (před-OpenGL 2.0):''''' [51] => [52] => ==== Zelená kniha (The Green Book) ==== [53] => OpenGL Programování pro X Window System. {{ISBN|978-0-201-48359-8}} [54] => [55] => Kniha o X11 programové konstrukci a [[OpenGL Utility Toolkit]] (GLUT). [56] => [57] => === Modrá kniha (The Blue Book) === [58] => Referenční příručka OpenGL, 4. vydání. {{ISBN|0-321-17383-X}} [59] => [60] => V podstatě hard-copy výtisk stránek [[Manuálová stránka (Unix)|Unix manuálu]] (man) pro OpenGL. [61] => [62] => Zahrnuje rozkládací diagram velikosti plakátu ukazující strukturu implementace idealizované OpenGL. [63] => [64] => === Alpha kniha nebo také Bílá obálka (The Alpha Book) === [65] => OpenGL programování pro Windows 95 a Windows NT. {{ISBN|0-201-40709-4}} [66] => [67] => Kniha o propojení OpenGL s Microsoft Windows. [68] => [69] => == Programování v OpenGL == [70] => Programovací jazyky jako je například [[Delphi]] nebo [[C++]] mají vytvořené speciální knihovny, které umožňují jednoduchý přístup k API funkcím OpenGL. Některé jsou dostupné ihned po instalaci vývojového prostředí a některé jsou dostupné na internetu. [71] => [72] => === Základní příkazy === [73] => Následující příkazy jsou napsané v programovacím jazyku [[Delphi]], nicméně syntaxe ostatních jazyků pro uvedené příklady je dost podobná. [74] => [75] => ==== 1. příklad ==== [76] => Naznačuje jak vyprázdnit obsah grafických zásobníků. [77] => glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // Vymazání zásobníku zobrazení a hloubkového zásobníku [78] => [79] => ==== 2. příklad ==== [80] => Příkaz umožní nahlédnout na trojrozměrný prostor pomocí projekce. [81] => glMatrixMode( GL_PROJECTION ); // Definuje způsob nahlédnutí na vykreslované objekty. [82] => [83] => ==== 3. příklad ==== [84] => Používá se před umístěním nových objektů do trojrozměrného prostoru. [85] => glLoadIdentity(); // Restartne pozici v grafické matici. [86] => glTranslatef(0.0, -1.0, -5.0); // Příkaz nastaví pozici pro vykreslení v prostoru, která je uváděná v pořadí pro osy X, Y, Z. [87] => [88] => ==== 4. příklad ==== [89] => Funkce, která umožňuje rotaci objektu. Objekt může rotovat v libovolném směru pod libovolných úhlem. [90] => glRotatef(12 ,0,-1,0); // První hodnota uvádí aktuální úhel zobrazení, dál jsou pak hodnoty pro otáčení na vybraných osách. [91] => [92] => == Historie == [93] => V [[1980–1989|80. letech 20. století]] bylo opravdovou výzvou vyvíjet software, který by mohl pracovat s různým grafickým hardwarem. Softwaroví vývojáři psali různá rozhraní a ovladače pro každý kus hardwaru. Tato práce byla velice drahá a bylo vyžadováno veliké úsilí. [94] => [95] => Na počátku [[1990–1999|90. let]] byla jedničkou v 3D grafice firma [[SGI]]. Jejich technologie [[IRIS GL]] API byla považována za nejmodernější a de facto se stala průmyslovým standardem zastiňující technologii [[PHIGS]]. IRIS GL se stala nejpoužívanější díky své jednoduchosti pro použití a podpory [[Immediate mode|okamžitého renderování]]. Naproti tomu metoda PHIGS byla považován za obtížnou k použití a zastaralou ve smyslu funkčnosti. [96] => [97] => Konkurenti SGI (včetně [[Sun Microsystems]], [[Hewlett Packard]] a [[IBM]]) také chtěli na trh přinést 3D hardware, podporovaný rozšířením vytvořeným pro standard PHIGS. Čím více dodavatelů 3D hardwaru bylo, tím menší měla SGI podílu trhu. Ve snaze ovlivnit trh, SGI se rozhodla změnit jejich IrisGL API na volně otevřený standard nazvaný ''OpenGL''. [98] => [99] => Nicméně SGI měla velký počet zákazníků softwaru, pro které změna z IrisGL na OpenGL představovala větší investici. Navíc rozhraní IrisGL mělo funkce, které nebyly důležité pro 3D grafiku. Například obsahovalo zvlášť funkce pro okna, rozhraní pro myš a klávesnici, protože bylo vyvíjeno před [[X Window System]] a Sun [[NeWS]] systémy. Také knihovny IrisGL byly kvůli licencovaným a patentovaným částem nevhodné pro volný přístup. Tyto důvody donutily SGI nadále podporovat moderní [[Open Inventor|Iris Inventor]] v programování rozhraní když obchod pro OpenGL kvetl. [100] => [101] => Jedno z omezení IrisGL bylo to, že poskytoval přístup pouze k funkcím podporovaným základním hardwarem. Pokud grafický hardware nepodporoval některé funkce, aplikace nebyla schopna je použít. OpenGL tento problém obcházel poskytováním podpory pomocí softwaru pro vlastnosti nepodporované hardwarem tím, že dovoloval aplikacím používat pokročilou grafiku na relativně nízkovýkonových systémech. OpenGL standardizoval přístup k hardwaru tak, že tlačil odpovědnost za vývoj na výrobce hardwaru a přenesené funkce na základní operační systém. S tolika různými druhy grafického hardware, pokud by všechny uměly komunikovat stejným jazykem, by to mělo významný vliv na to, že by vývojáři mohli vyvíjet 3D software na vyšších úrovních. [102] => [103] => V roce 1992, SGI byla vedena k vytvoření OpenGL průmyslového [[Konsorcium|konsorcia]] (OpenGL ARB), skupina společností, které udržují a rozšiřují specifikaci OpenGL v budoucnu. [104] => [105] => V roce 1994 si SGI hrála s myšlenkou realizovat [[OpenGL++]], které by vkládalo možnosti jako např. rozhraní grafů. Myšlenka nikdy nebyla realizována. [106] => [107] => V roce 1995 [[Microsoft]] zveřejnil [[Direct3D]], který byl schopen konkurovat OpenGL. Dne 17. prosince 1997 Microsoft a SGI zahájili Fahrenheitův projekt, který měl spojit to nejlepší z OpenGL a Direct3D (přidávaje rozhraní pro grafy). V roce 1998 se k projektu připojil Hewlett Packard. To z počátku ukázalo nějaký příslib přinesení řádu do světa interaktivní 3D počítačové grafiky, ale z důvodu finančních omezení v SGI, strategických důvodů u Microsoftu a obecného nedostatku podpory průmyslu byl opuštěn v roce 1999. [108] => [109] => V červenci roku 2006 OpenGL ARB hlasovala pro přenesení kontroly nad OpenGL standardem pod [[Khronos Group]]. [110] => [111] => == Související články == [112] => * [[OpenGL ES]] [113] => * [[DirectX]] [114] => * [[Direct3D]] [115] => * [[Vulkan]] [116] => * [[OpenML]] [117] => * [[OpenAL]] [118] => * [[WebGL]] [119] => * [[GLUT]] – OpenGL Utility Toolkit [120] => * [[Lightweight Java Game Library]] [121] => [122] => == Reference == [123] => [124] => [125] => == Externí odkazy == [126] => * {{Commonscat}} [127] => * [128] => [129] => * [http://www.opengl.org/ www.opengl.org] {{Wayback|url=http://www.opengl.org/ |date=20110226000710 }} – Oficiální stránky OpenGL, obsahují i specifikaci standardu (anglicky) [130] => * [https://web.archive.org/web/20071126072642/http://nehe.gamedev.net/ nehe.gamedev.net] – Tutoriály programování OpenGL od NeHe (anglicky) [131] => * [http://nehe.ceske-hry.cz/ nehe.ceske-hry.cz] – Český překlad tutoriálů od NeHe [132] => * [http://www.root.cz/serialy/graficka-knihovna-opengl/ Seriál o grafické knihovně OpenGL] na [[Root.cz]] [133] => * [http://www.root.cz/n/opengl/ Další články a seriály o OpenGL] na [[Root.cz]] [134] => * [http://www.root.cz/zpravicky/valve-otevrelo-zdrojaky-debuggeru-pro-opengl/ Valve otevřelo zdrojáky debuggeru pro OpenGL] na [[Root.cz]] [135] => * [https://web.archive.org/web/20140407102610/http://www.acceleware.com/blog/amd-firepro-w9100-and-opencl-updates AMD Firepro W9100 připravena na OpenCL 2.0] na www.acceleware.com (anglicky) [136] => {{Autoritní data}} [137] => [138] => [[Kategorie:OpenGL| ]] [139] => [[Kategorie:Programové knihovny]] [140] => [[Kategorie:Počítačová grafika]] [141] => [[Kategorie:Počítačová 3D grafika]] [142] => [[Kategorie:Otevřené standardy]] [] => )
good wiki

OpenGL

OpenGL (Open Graphics Library) je průmyslový standard specifikující multiplatformní rozhraní (API) pro tvorbu aplikací počítačové grafiky. Používá se při tvorbě počítačových her, CAD programů, aplikací virtuální reality či vědeckotechnické vizualizace apod.

More about us

About

Jeho použití se rozprostírá napříč mnoha oblastmi, jako jsou počítačové hry, simulace, CAD (počítačem podporované navrhování) a vizualizace dat. OpenGL je známý svou širokou kompatibilitou a přenositelností, což znamená, že aplikace napsané s využitím tohoto API mohou běžet na různých platformách bez nutnosti rozsáhlých úprav. Jednou z nejvíce inspirativních vlastností OpenGL je jeho otevřený charakter, což znamená, že se na jeho vývoji podílí celá řada lidí a organizací. Tato otevřenost podporuje inovace a umožňuje uživatelům a vývojářům sdílet nápady a zlepšení, což vede k trvalému pokroku v oblasti grafiky. OpenGL je také velmi všestranný a umožňuje vývojářům vytvářet rozsáhlé a komplexní grafické aplikace. Poskytuje široké spektrum funkcí, které usnadňují práci s 3D modely, texturami a efekty osvětlení. Tímto způsobem nabízí inspiraci nejen profesionálům, ale také začínajícím vývojářům, kteří mají příležitost rozvíjet své dovednosti a tvořit jedinečné projekty. Spolu s rostoucí popularitou moderních technik, jako jsou virtuální a rozšířená realita, se OpenGL stává stále relevantnějším nástrojem pro grafické inovace. Jeho schopnost efektivně využívat hardware zajišťuje hladký výkon a realističnost, což přispívá k obohacení uživatelských zkušeností. Přestože se na trhu objevují alternativní grafické API, jako je Vulkan nebo Direct3D, OpenGL zůstává silným nástrojem pro vývojáře, kteří ocení jeho jednoduchost, robustnost a širokou komunitu. Vznikající technologie a myšlenky, které se ukazují ve světě grafiky, jsou inspirovány otevřeností a přístupnost OpenGL, což dokazuje jeho význam v dynamicky se vyvíjejícím světě grafiky a vizualizace.

Expert Team

Vivamus eget neque lacus. Pellentesque egauris ex.

Award winning agency

Lorem ipsum, dolor sit amet consectetur elitorceat .

10 Year Exp.

Pellen tesque eget, mauris lorem iupsum neque lacus.

You might be interested in

,'API','Root.cz','Khronos Group','Vulkan','Delphi','Direct3D','konsorcium','Microsoft','OpenGL ES','PHIGS','framebuffer','Manuálová stránka (Unix)'