WebGL

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. december 2-án felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .
WebGL
Típusú API
Szerző Mozilla Alapítvány
Fejlesztő Khronos csoport
Operációs rendszer platformközi
Első kiadás 2011. március 3
legújabb verzió 2.0 [1] ( 2018. augusztus 30. )
Engedély Különféle
Weboldal khronos.org/webgl/
 Médiafájlok a Wikimedia Commons oldalon

A WebGL ( Web-based Graphics Library ) egy többplatformos API böngészőn belüli 3D grafikákhoz , amelyet a Khronos Group non-profit szervezet fejlesztett ki . A WebGL a GLSL shader programozási nyelvet használja [1] Archivált 2018. október 13-án a Wayback Machine -nél . A WebGL HTML5 elemként fut, ezért a böngésző dokumentumobjektum-modelljének (DOM API) teljes körű része. Bármilyen programozási nyelvvel használható, amely képes együttműködni a DOM API-val, például JavaScript , Rust [2] Archivált : 2018. június 17. a Wayback Machine -nél , Java , Kotlin [3] Archivált : 2018. október 13. a Wayback Machine -nél és mások . A Google ( Chrome ), a Mozilla ( Firefox ) és az Apple ( Safari ) összes vezető böngészőfejlesztő tagja a Khronosnak, és a WebGL-t alkalmazza böngészőjében. Az alacsony szintű OpenGL támogatás használatának köszönhetően a WebGL kód egy része közvetlenül végrehajtható a videokártyákon . A WebGL a HTML canvas elem környezete , amely 3D grafikus API -t biztosít beépülő modulok használata nélkül [2] . Az első specifikáció 2011. március 3-án jelent meg. A jelenlegi 2.0-s verzió (nem kompatibilis az 1.0-s verzióval) 2017. február 27-től érhető el [3] [4] .

Alapelvek

Az API az OpenGL ES 2.0-n alapul, és lehetővé teszi a 3D grafika [5] megvalósítását a böngészőben, használja a HTML5 canvas elemet és a DOM - mal is működik . Az automatikus memóriakezelést a JavaScript nyelv biztosítja [2] .

Verziók

Megvalósítás

Mobil böngészők

Munkacsoport

A szabványt kidolgozó munkacsoport tagjai: Khronos Group , Apple Safari , Google Chrome , Mozilla Firefox és Opera böngészők fejlesztői , valamint az AMD és az Nvidia [18] szakemberei .

Történelem

A WebGL a Canvas 3D-vel végzett kísérleteiből származik, amelyet Vladimir Vukićević , a Mozilla munkatársa végzett , aki 2006-ban fejlesztette ki a Canvas 3D prototípust. 2007 végén a Mozilla [19] és az Opera [20] is elkészítette a saját külön implementációját.

A Mozilla és a Khronos 2009 elején megalakította a WebGL Munkacsoportot [21] , és 2009. december 10- én a konzorcium közzétette a WebGL specifikáció első tervezetét [18] [22] . A csapat elnöke , Arun Ranganathan kijelentette, hogy a specifikáció véglegesítése 2010 első negyedévében várható [18] [22] . A specifikációk első kiadásának végleges változatát 2011. március 3-án mutatták be San Franciscóban [23] [24] .

A specifikáció következő verziójának fejlesztése 2013-ban kezdődött. Az OpenGL ES 3.0-n alapuló WebGL 2.0 szabványt a Khronos konzorcium 2017 januárjában ratifikálta [25] . A szabvány új verziója a Firefox 51-ben, a Chrome 56-ban és az Opera 43-ban valósult meg [26] .

Biztonság

2011 júniusában a Microsoft aggodalmát fejezte ki a WebGL technológia biztonságával kapcsolatban, a szerinte túlzott hardver-hozzáférési jogokra és a megbízhatatlan szolgáltatásmegtagadási ( DoS ) védelmi mechanizmusokra hivatkozva. [27] Mark Shaver, a Mozilla alelnöke visszautasította a Microsoft kritikáját, és eltúlzottnak nevezte a bemutatott érveket. Azt is megjegyezte, hogy a Microsoft saját 3D -s webtechnológiával rendelkezik, a Silverlight 5-tel, amely ugyanazokon az elveken alapul, mint a WebGL, amelyet azonban a Microsoft meglehetősen megbízhatónak tart. [28] A Microsoft később megváltoztatta a WebGL technológiához való hozzáállását, és bevezette a támogatást az Internet Explorer 11 böngészőjében. [29]

Az Apple Corporation annak ellenére, hogy biztonsági okokból késleltette a döntést a WebGL támogatásáról a Safari böngészőben, ezt a döntést a 2014 -es WWDC konferencián jelentette be. [30]

Könyvtárak

A WebGL-alkalmazások fejlesztésének egyszerűsítésére különféle keretrendszerek és könyvtárak léteznek . Az első nyilvános könyvtár a WebGLU [31] [32] volt . A WebGL további könyvtárai közé tartozik a GLGE , C3DL , Copperlicht [33] , SpiderGL, gwt-g3d [34] (csomagoló a GWT -hez ), SceneJS , X3DOM , Processing.js , Babylon.js , Three.js , Turbulenz, OSGJS [35] , XB PointStream és CubicVR.js [36] .

A Blend4Web lehetővé teszi a WebGL tartalom vizuális szerkesztését a Blender nyílt forráskódú 3D modellező és animációs csomagjában , és egy műveletben exportálhatja azt a böngészőkben való működéshez [37] .

A Verge3D  egy WebGL-renderer, amely közvetlenül a szabványos szerkesztőkből exportálja a jeleneteket (az Autodesk 3ds Max és a Blender által támogatott ), interaktív szkriptek hozzáadásának lehetőségével programozás nélkül [38] .

Kompatibilitási réteg ANGLE

Az ANGLE (Almost Native Graphics Layer Engine) [39] egy BSD -licencű  könyvtár , amely lehetővé teszi a WebGL-tartalom OpenGL ES 2.0-ra való lefordítását, DirectX 9 és 11 API-k hívását, amelyek kölcsönhatásba lépnek a Microsoft Windows platformokkal anélkül, hogy további OpenGL -illesztőprogramokra lenne szükség . Alapértelmezés szerint a Google Chrome és a Firefox böngészőkben használatos.

Lásd még

Jegyzetek

  1. WebGL 2.0 specifikáció . Hozzáférés dátuma: 2017. február 8. Az eredetiből archiválva : 2017. január 28.
  2. 1 2 WebGL - OpenGL ES 2.0 webhez . Khronos.org. Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  3. A Khronos API-frissítéseket és új munkacsoportokat mutat be a GDC-nél . Letöltve: 2018. október 12. Az eredetiből archiválva : 2017. március 8.
  4. WebGL áttekintése . Hozzáférés dátuma: 2009. december 12. Az eredetiből archiválva : 2009. december 15.
  5. WebGL specifikáció . Khronos.org. Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  6. WebGL specifikáció . Hozzáférés dátuma: 2017. február 8. Az eredetiből archiválva : 2017. március 27.
  7. WebGL 2 specifikáció . Hozzáférés dátuma: 2017. február 8. Az eredetiből archiválva : 2017. január 28.
  8. Mozilla Firefox 4 kiadási megjegyzések (a hivatkozás nem érhető el) . Letöltve: 2011. augusztus 29. Az eredetiből archiválva : 2011. március 23.. 
  9. A Google kiadja a Chrome 9-et; jön a Google Instant, WebGL - FierceCIO:TechWatch (downlink) . Letöltve: 2011. augusztus 29. Az eredetiből archiválva : 2011. október 25.. 
  10. WebGL (Windows) . Hozzáférés dátuma: 2014. január 16. Az eredetiből archiválva : 2014. január 16.
  11. suihkulokki. WebGL N900-on . Suihkulokki.blogspot.com (2010. június 7.). Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  12. Halevy, Ronen PlayBook OS 2.0 fejlesztői bétaverzió Tartalmazza a WebGL-t, a Flash 11-et és az AIR 3.0-t . BerryReview . Letöltve: 2011. november 15. Az eredetiből archiválva : 2013. március 12..
  13. Brandon Jones. Működtesse a WebGL-t az Android Chrome bétaverzióján . Tojicode (2013. január 10.). Letöltve: 2013. február 12. Az eredetiből archiválva : 2013. március 12..
  14. iclkevin. WebGL mobileszközökön . iChemLabs (2011. november 12.). Letöltve: 2011. november 25. Az eredetiből archiválva : 2013. március 12..
  15. Az Xperia™ telefonok támogatják először a WebGL™ – Developer World szolgáltatást . blogs.sonyericsson.com . A Sony Ericsson fejlesztői program (2011. november 29.). Letöltve: 2011. december 5. Az eredetiből archiválva : 2013. március 12..
  16. Opera Mobile 12 . Opera szoftver. Hozzáférés dátuma: 2012. február 27. Az eredetiből archiválva : 2013. március 12.
  17. WebGL iOS 8 Safari és webview rendszeren (lefelé hivatkozás) . Letöltve: 2014. július 9. Az eredetiből archiválva : 2014. július 14.. 
  18. 1 2 3 A Khronos közzétette a WebGL archív példányának vázlatos változatát 2015. szeptember 9-én a Wayback Machine -en // Lenta.ru , 2009.12.11.
  19. Canvas 3D: GL teljesítmény, web-stílusú . blog.vlad1.com. Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  20. A vászon áthelyezése egy másik dimenzióba . My.opera.com (2007. november 26.). Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  21. Khronos Részletek A WebGL kezdeményezés a hardveresen gyorsított 3D grafikák internetre vitelére . Khronos.org (2009. augusztus 4.). Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  22. 1 2 _ _ _ _ _
  23. Kurt Bakke. WebCL a GPU-gyorsított webalkalmazások  engedélyezéséhez . ConceivablyTech (2011. március 3.). Letöltve: 2011. március 4. Az eredetiből archiválva : 2012. április 12..
  24. Ékezet. A Khronos közzéteszi a WebGL 1.0 specifikációt – 3D grafikus gyorsítás beépülő modulok nélküli weboldalakhoz (hivatkozás nem érhető el) . iXBT.com (2011. március 3.). Letöltve: 2011. március 4. Az eredetiből archiválva : 2011. március 6.. 
  25. WebGL 2 specifikáció . khronos.org (2017. július 5.). Letöltve: 2017. augusztus 16. Az eredetiből archiválva : 2017. augusztus 8..
  26. WebGL - Web API-k . MDN . Letöltve: 2017. augusztus 16. Az eredetiből archiválva : 2017. augusztus 28..
  27. A WebGL ártalmasnak tekinthető . Microsoft (2011. június 16.). Letöltve: 2011. június 16. Az eredetiből archiválva : 2012. április 12..
  28. A Mozilla visszautasítja a Microsoftnak a WebGL-lel kapcsolatos kritikáját . Az érdeklődő (2011. június 20.). Letöltve: 2011. június 29. Az eredetiből archiválva : 2012. április 12..
  29. ↑ A Microsoft (végre) megerősíti az Internet Explorer 11 WebGL támogatását . TechCrunch (2013. június 26.). Letöltve: 2015. július 7. Az eredetiből archiválva : 2015. július 9..
  30. Az iOS8 Safari támogatja a WebGL-t – az új korszak megkezdődhet . I Programozó (2014. június 4.). Letöltve: 2015. július 7. Az eredetiből archiválva : 2015. július 7.
  31. OneGeek/WebGLU GitHub . Letöltve: 2013. március 15. Az eredetiből archiválva : 2013. március 16..
  32. Benjamin DeLillo. Az első WebGL kiadás . Bjatr.blogspot.com (2009. október 2.). Letöltve: 2011. május 14. Az eredetiből archiválva : 2012. április 12..
  33. CopperLicht - JavaScript 3D Engine WebGL használatával . Letöltve: 2013. március 14. Az eredetiből archiválva : 2013. március 16..
  34. gwt-g3d - 3D könyvtár a GWT-hez - Google Project Hosting . Letöltve: 2013. március 14. Az eredetiből archiválva : 2013. március 16..
  35. OSG.JS, szerző: cedricpinson . Letöltve: 2013. március 14. Az eredetiből archiválva : 2013. március 16..
  36. cjcliffe/CubicVR.js GitHub . Letöltve: 2013. március 14. Az eredetiből archiválva : 2013. március 16..
  37. A Blend4Web hivatalos oldala - A projektről . Blend4web.com. Hozzáférés időpontja: 2015. július 3. Az eredetiből archiválva : 2015. július 1.
  38. Verge3D . Soft8Soft. Letöltve: 2018. június 14. Az eredetiből archiválva : 2018. június 14.
  39. angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting . Letöltve: 2013. március 14. Az eredetiből archiválva : 2013. március 16..

Linkek