WebGL

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 2. prosince 2021; kontroly vyžadují 2 úpravy .
WebGL
Typ API
Autor Nadace Mozilla
Vývojář Skupina Khronos
Operační systém multiplatformní
První vydání 3. března 2011
Nejnovější verze 2.0 [1] ( 30. srpna 2018 )
Licence Rozličný
webová stránka khronos.org/webgl/
 Mediální soubory na Wikimedia Commons

WebGL ( Web-based Graphics Library ) je multiplatformní API pro 3D grafiku v prohlížeči vyvinuté neziskovou organizací Khronos Group . WebGL používá programovací jazyk GLSL shader [1] Archived 13 October 2018 at the Wayback Machine . WebGL běží jako prvek HTML5, a je tedy plnohodnotnou součástí Document Object Model (DOM API) prohlížeče . Lze použít s jakýmkoli programovacím jazykem, který umí pracovat s DOM API, jako je JavaScript , Rust [2] Archivováno 17. června 2018 na Wayback Machine , Java , Kotlin [3] Archivováno 13. října 2018 na Wayback Machine a další . Všichni přední vývojáři prohlížečů Google ( Chrome ), Mozilla ( Firefox ) a Apple ( Safari ) jsou členy Khronos a implementují WebGL do svých prohlížečů. Díky použití nízkoúrovňové podpory OpenGL lze část kódu WebGL spustit přímo na grafických kartách . WebGL je kontext elementu HTML canvas , který poskytuje 3D grafické API bez použití pluginů [2] . První specifikace byla vydána 3. března 2011. Aktuální verze 2.0 (nekompatibilní s verzí 1.0) je dostupná od 27. února 2017 [3] [4] .

Principy

API je založeno na OpenGL ES 2.0 a umožňuje implementaci 3D grafiky [5] v prohlížeči, využívá element HTML5 canvas a také pracuje s DOM . Automatickou správu paměti zajišťuje jazyk JavaScript [2] .

Verze

Implementace

Mobilní prohlížeče

Pracovní skupina

Mezi pracovní skupinu, která standard vyvíjí, patří: Khronos Group , vývojáři prohlížečů Apple Safari , Google Chrome , Mozilla Firefox a Opera a také specialisté z AMD a Nvidia [18] .

Historie

WebGL vzniklo z experimentování s Canvas 3D Vladimirem Vukićevićem z Mozilly , který v roce 2006 vyvinul prototyp Canvas 3D. Koncem roku 2007 vytvořily Mozilla [19] i Opera [20] své vlastní samostatné implementace.

Mozilla a Khronos vytvořily WebGL Working Group [21] na začátku roku 2009 a 10. prosince 2009 konsorcium zveřejnilo první návrh specifikace WebGL [18] [22] . Předseda týmu Arun Ranganathan uvedl, že se očekává, že specifikace bude dokončena v prvním čtvrtletí roku 2010 [18] [22] . Finální revize prvního vydání specifikací byla představena 3. března 2011 v San Franciscu [23] [24] .

Vývoj další verze specifikace začal v roce 2013. Standard WebGL 2.0, založený na OpenGL ES 3.0, byl ratifikován konsorciem Khronos v lednu 2017 [25] . Nová verze standardu byla implementována ve Firefoxu 51, Chrome 56 a Opeře 43 [26] .

Zabezpečení

V červnu 2011 společnost Microsoft vyjádřila obavy ohledně zabezpečení technologie WebGL, přičemž uvedla, co považuje za nadměrná přístupová práva k hardwaru a nespolehlivé ochranné mechanismy DoS (Denial of Service). [27] Viceprezident Mozilly Mark Shaver odmítl kritiku Microsoftu a označil předložené argumenty za přehnané. Poznamenal také, že Microsoft má vlastní 3D webovou technologii Silverlight 5 založenou na stejných principech jako WebGL, kterou však Microsoft považuje za docela spolehlivou. [28] Microsoft později změnil svůj postoj k technologii WebGL a implementoval její podporu ve svém prohlížeči Internet Explorer 11. [29]

Společnost Apple Corporation , přestože rozhodnutí o podpoře WebGL v prohlížeči Safari z bezpečnostních důvodů odložila, toto rozhodnutí oznámila na konferenci WWDC v roce 2014. [30]

Knihovny

Pro zjednodušení vývoje aplikací WebGL existují různé rámce a knihovny . První veřejnou knihovnou byla WebGLU [31] [32] . Mezi další knihovny pro WebGL patří GLGE , C3DL , Copperlicht [33] , SpiderGL, gwt-g3d [34] (wrapper pro GWT ), SceneJS , X3DOM , Processing.js , Babylon.js , Three.js , Turbulenz, OSGJS [ , XB PointStream a CubicVR.js [36] .

Blend4Web umožňuje vizuálně upravovat obsah WebGL v open source 3D modelovacím a animačním balíčku Blenderu a exportovat jej pro práci v prohlížečích v jedné operaci [37] .

Verge3D  je WebGL renderer, který exportuje scény přímo ze standardních editorů (podporovaných Autodesk 3ds Max a Blender ) s možností přidávat interaktivní skripty bez programování [38] .

Vrstva kompatibility ANGLE

ANGLE (Almost Native Graphics Layer Engine) [39] je  knihovna s licencí BSD , která vám umožňuje překládat obsah WebGL do OpenGL ES 2.0, volat rozhraní API DirectX 9 a 11, která komunikují s platformami Microsoft Windows bez potřeby dalších ovladačů OpenGL . Ve výchozím nastavení se používá v prohlížečích Google Chrome a Firefox.

Viz také

Poznámky

  1. Specifikace WebGL 2.0 . Datum přístupu: 8. února 2017. Archivováno z originálu 28. ledna 2017.
  2. 1 2 WebGL - OpenGL ES 2.0 pro web . Khronos.org. Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  3. Khronos odhaluje aktualizace API a nové pracovní skupiny na GDC . Získáno 12. října 2018. Archivováno z originálu 8. března 2017.
  4. Přehled WebGL . Datum přístupu: 12. prosince 2009. Archivováno z originálu 15. prosince 2009.
  5. Specifikace WebGL . Khronos.org. Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  6. Specifikace WebGL . Datum přístupu: 8. února 2017. Archivováno z originálu 27. března 2017.
  7. Specifikace WebGL 2 . Datum přístupu: 8. února 2017. Archivováno z originálu 28. ledna 2017.
  8. Poznámky k vydání Mozilla Firefox 4 (odkaz není k dispozici) . Získáno 29. srpna 2011. Archivováno z originálu dne 23. března 2011. 
  9. Google vydává Chrome 9; přichází s Google Instant, WebGL - FierceCIO:TechWatch (odkaz dolů) . Získáno 29. srpna 2011. Archivováno z originálu dne 25. října 2011. 
  10. WebGL (Windows) . Datum přístupu: 16. ledna 2014. Archivováno z originálu 16. ledna 2014.
  11. suihkulokki. WebGL na N900 . Suihkulokki.blogspot.com (7. června 2010). Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  12. Halevy, Ronen PlayBook OS 2.0 Developer Beta zahrnuje WebGL, Flash 11 a AIR 3.0 . Berry Review . Získáno 15. listopadu 2011. Archivováno z originálu 12. března 2013.
  13. Brandon Jones. Zprovozněte WebGL na Android Chrome Beta . Tojicode (10. ledna 2013). Získáno 12. února 2013. Archivováno z originálu 12. března 2013.
  14. iclkevin. WebGL na mobilních zařízeních . iChemLabs (12. listopadu 2011). Získáno 25. listopadu 2011. Archivováno z originálu 12. března 2013.
  15. Telefony Xperia™ jako první podporují WebGL™ – Developer World . blogs.sonyericsson.com . Program Sony Ericsson Developer Program (29. listopadu 2011). Získáno 5. prosince 2011. Archivováno z originálu dne 12. března 2013.
  16. Opera Mobile 12 . Operační software. Datum přístupu: 27. února 2012. Archivováno z originálu 12. března 2013.
  17. WebGL na iOS 8 Safari a webview (downlink) . Získáno 9. července 2014. Archivováno z originálu 14. července 2014. 
  18. 1 2 3 Khronos zveřejnil koncept verze WebGL Archival ze dne 9. září 2015 na Wayback Machine // Lenta.ru , 12/11/2009
  19. Canvas 3D: GL výkon, webový styl . blog.vlad1.com. Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  20. Přenesení plátna do jiné dimenze . My.opera.com (26. listopadu 2007). Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  21. Podrobnosti Khronos Iniciativa WebGL přináší hardwarově akcelerovanou 3D grafiku na internet . Khronos.org (4. srpna 2009). Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  22. 1 2 WebGL 3D webový standard dosáhl fáze návrhu Archivováno 15. prosince 2009 na Wayback Machine // Techradar
  23. Kurt Bakke. WebCL pro povolení webových  aplikací s akcelerací GPU . ConceivablyTech (3. března 2011). Získáno 4. března 2011. Archivováno z originálu 12. dubna 2012.
  24. Přízvuk. Khronos publikuje specifikaci WebGL 1.0 - 3D grafickou akceleraci pro webové stránky bez zásuvných modulů (odkaz není dostupný) . iXBT.com (3. března 2011). Získáno 4. března 2011. Archivováno z originálu 6. března 2011. 
  25. Specifikace WebGL 2 . khronos.org (5. července 2017). Získáno 16. 8. 2017. Archivováno z originálu 8. 8. 2017.
  26. WebGL - Web API . MDN . Získáno 16. 8. 2017. Archivováno z originálu 28. 8. 2017.
  27. WebGL je považován za škodlivý . Microsoft (16. června 2011). Získáno 16. června 2011. Archivováno z originálu 12. dubna 2012.
  28. Mozilla odmítá kritiku WebGL od Microsoftu . The Inquirer (20. června 2011). Získáno 29. června 2011. Archivováno z originálu 12. dubna 2012.
  29. Microsoft (konečně) potvrzuje podporu WebGL pro Internet Explorer 11 . TechCrunch (26. června 2013). Získáno 7. července 2015. Archivováno z originálu dne 9. července 2015.
  30. Safari na iOS8 podporuje WebGL – nová éra může začít . I Programátor (4. června 2014). Získáno 7. července 2015. Archivováno z originálu dne 7. července 2015.
  31. OneGeek/WebGLU GitHub . Získáno 15. března 2013. Archivováno z originálu 16. března 2013.
  32. Benjamin DeLillo. První vydání WebGL . Bjatr.blogspot.com (2. října 2009). Získáno 14. května 2011. Archivováno z originálu 12. dubna 2012.
  33. CopperLicht - JavaScript 3D Engine využívající WebGL . Získáno 14. března 2013. Archivováno z originálu 16. března 2013.
  34. gwt-g3d - 3D knihovna pro GWT - Google Project Hosting . Získáno 14. března 2013. Archivováno z originálu 16. března 2013.
  35. OSG.JS od cedricpinsona . Získáno 14. března 2013. Archivováno z originálu 16. března 2013.
  36. cjcliffe/CubicVR.js GitHub . Získáno 14. března 2013. Archivováno z originálu 16. března 2013.
  37. Oficiální stránky Blend4Web - O projektu . Blend4web.com. Datum přístupu: 3. července 2015. Archivováno z originálu 1. července 2015.
  38. Verge3D . Soft8Soft. Získáno 14. června 2018. Archivováno z originálu 14. června 2018.
  39. angleproject - ANGLE: Téměř Native Graphics Layer Engine - Google Project Hosting . Získáno 14. března 2013. Archivováno z originálu 16. března 2013.

Odkazy