WebGL

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 2 december 2021; kontroller kräver 2 redigeringar .
WebGL
Sorts API
Författare Mozilla Foundation
Utvecklaren Khronos Group
Operativ system plattformsoberoende
Första upplagan 3 mars 2011
senaste versionen 2.0 [1] ( 30 augusti 2018 )
Licens Olika
Hemsida khronos.org/webgl/
 Mediafiler på Wikimedia Commons

WebGL ( Web-based Graphics Library ) är ett plattformsoberoende API för 3D-grafik i webbläsaren utvecklat av den ideella organisationen Khronos Group . WebGL använder programmeringsspråket GLSL shader [1] Arkiverad 13 oktober 2018 på Wayback Machine . WebGL körs som ett HTML5-element och är därför en fullständig del av webbläsarens Document Object Model (DOM API) . Kan användas med alla programmeringsspråk som kan fungera med DOM API, såsom JavaScript , Rust [2] Arkiverad 17 juni 2018 på Wayback Machine , Java , Kotlin [3] Arkiverad 13 oktober 2018 på Wayback Machine och andra . Alla de ledande webbläsarutvecklarna Google ( Chrome ), Mozilla ( Firefox ) och Apple ( Safari ) är medlemmar i Khronos och implementerar WebGL i sina webbläsare. På grund av användningen av OpenGL -stöd på låg nivå kan en del av WebGL-koden exekveras direkt på grafikkort . WebGL är kontexten för HTML -canvas- elementet , som tillhandahåller ett 3D-grafik- API utan användning av plugins [2] . Den första specifikationen släpptes den 3 mars 2011. Den nuvarande versionen 2.0 (inkompatibel med version 1.0) är tillgänglig från 27 februari 2017 [3] [4] .

Principer

API:t är baserat på OpenGL ES 2.0 och tillåter implementering av 3D-grafik [5] i webbläsaren, använder HTML5 canvas-elementet och fungerar även med DOM . Automatisk minneshantering tillhandahålls av JavaScript-språket [2] .

Versioner

Implementering

Mobila webbläsare

Arbetsgrupp

I arbetsgruppen som utvecklar standarden ingår: Khronos Group , utvecklare av webbläsarna Apple Safari , Google Chrome , Mozilla Firefox och Opera , samt specialister från AMD och Nvidia [18] .

Historik

WebGL har sitt ursprung i experiment med Canvas 3D av Vladimir Vukićević från Mozilla , som utvecklade Canvas 3D-prototypen 2006. I slutet av 2007 skapade både Mozilla [19] och Opera [20] sina egna separata implementeringar.

Mozilla och Khronos bildade WebGL Working Group [21] i början av 2009 , och den 10 december 2009 publicerade konsortiet det första utkastet till WebGL-specifikationen [18] [22] . Lagordförande Arun Ranganathan uppgav att specifikationen förväntas bli klar under första kvartalet 2010 [18] [22] . Den slutliga revideringen av den första upplagan av specifikationerna presenterades den 3 mars 2011 i San Francisco [23] [24] .

Utvecklingen av nästa version av specifikationen började 2013. WebGL 2.0-standarden, baserad på OpenGL ES 3.0, ratificerades av Khronos-konsortiet i januari 2017 [25] . Den nya versionen av standarden implementerades i Firefox 51, Chrome 56 och Opera 43 [26] .

Säkerhet

I juni 2011 tog Microsoft upp farhågor om säkerheten för WebGL-tekniken, med hänvisning till vad den ansåg vara överdrivna åtkomsträttigheter till hårdvara och opålitliga DoS- skyddsmekanismer (Denial of Service). [27] Mozillas vicepresident Mark Shaver avfärdade Microsofts kritik och kallade argumenten som presenterades för överdrivna. Han noterade också att Microsoft har sin egen 3D-webbteknik , Silverlight 5, baserad på samma principer som WebGL, som ändå Microsoft anser vara ganska tillförlitlig. [28] Microsoft ändrade senare sin inställning till WebGL-teknik och implementerade sitt stöd i sin webbläsare Internet Explorer 11. [29]

Apple Corporation tillkännagav detta beslut vid WWDC- konferensen 2014 , trots att de försenat beslutet att stödja WebGL i webbläsaren Safari av säkerhetsskäl . [30]

Bibliotek

För att förenkla utvecklingen av WebGL-applikationer finns det olika ramverk och bibliotek . Det första offentliga biblioteket var WebGLU [31] [32] . Andra bibliotek för WebGL inkluderar GLGE , C3DL , Copperlicht [33] , SpiderGL, gwt-g3d [34] (omslag för GWT ), SceneJS , X3DOM , Processing.js , Babylon.js , Three.js , Turbulenz, OSGJS [35 ] , XB PointStream och CubicVR.js [36] .

Blend4Web låter dig visuellt redigera WebGL-innehåll i Blenders 3D-modellerings- och animationspaket med öppen källkod och exportera det till att fungera i webbläsare i en operation [37] .

Verge3D  är en WebGL-renderare som exporterar scener direkt från standardredigerare (stöds av Autodesk 3ds Max och Blender ) med möjligheten att lägga till interaktiva skript utan programmering [38] .

Kompatibilitetslager ANGLE

ANGLE (Almost Native Graphics Layer Engine) [39] är ett BSD -licensierat  bibliotek som låter dig översätta WebGL-innehåll till OpenGL ES 2.0, anropa DirectX 9 och 11 API:er som interagerar med Microsoft Windows-plattformar utan behov av ytterligare OpenGL- drivrutiner . Används som standard i webbläsarna Google Chrome och Firefox.

Se även

Anteckningar

  1. WebGL 2.0-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 28 januari 2017.
  2. 1 2 WebGL - OpenGL ES 2.0 för webben . Khronos.org. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  3. Khronos avslöjar API-uppdateringar och nya arbetsgrupper på GDC . Hämtad 12 oktober 2018. Arkiverad från originalet 8 mars 2017.
  4. WebGL-översikt . Datum för åtkomst: 12 december 2009. Arkiverad från originalet 15 december 2009.
  5. WebGL-specifikation . Khronos.org. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  6. WebGL-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 27 mars 2017.
  7. WebGL 2-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 28 januari 2017.
  8. Mozilla Firefox 4 Release Notes (länk ej tillgänglig) . Hämtad 29 augusti 2011. Arkiverad från originalet 23 mars 2011. 
  9. Google släpper Chrome 9; kommer med Google Instant, WebGL - FierceCIO:TechWatch (nedlänk) . Hämtad 29 augusti 2011. Arkiverad från originalet 25 oktober 2011. 
  10. WebGL (Windows) . Tillträdesdatum: 16 januari 2014. Arkiverad från originalet 16 januari 2014.
  11. suihkulokki. WebGL på N900 . Suihkulokki.blogspot.com (7 juni 2010). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  12. Halevy, Ronen PlayBook OS 2.0 Developer Beta Inkluderar WebGL, Flash 11 och AIR 3.0 . BerryReview . Hämtad 15 november 2011. Arkiverad från originalet 12 mars 2013.
  13. Brandon Jones. Få WebGL att arbeta med Android Chrome Beta . Tojicode (10 januari 2013). Hämtad 12 februari 2013. Arkiverad från originalet 12 mars 2013.
  14. iclkevin. WebGL på mobila enheter . iChemLabs (12 november 2011). Hämtad 25 november 2011. Arkiverad från originalet 12 mars 2013.
  15. Xperia™-telefoner först med att stödja WebGL™ – Developer World . blogs.sonyericsson.com . Sony Ericssons utvecklarprogram (29 november 2011). Hämtad 5 december 2011. Arkiverad från originalet 12 mars 2013.
  16. Opera Mobile 12 . Opera programvara. Tillträdesdatum: 27 februari 2012. Arkiverad från originalet 12 mars 2013.
  17. WebGL på iOS 8 Safari och webbvy (nedlänk) . Hämtad 9 juli 2014. Arkiverad från originalet 14 juli 2014. 
  18. 1 2 3 Khronos publicerade ett utkast till version av WebGL Archival kopia daterad 9 september 2015 på Wayback Machine // Lenta.ru , 12/11/2009
  19. Canvas 3D: GL-kraft, webb-stil . blog.vlad1.com. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  20. Ta duken till en annan dimension . My.opera.com (26 november 2007). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  21. Khronos detaljer WebGL-initiativet för att föra med hårdvaruaccelererad 3D-grafik till Internet . Khronos.org (4 augusti 2009). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  22. 1 2 WebGL 3D webbstandard når utkaststadier Arkiverad 15 december 2009 på Wayback Machine // Techradar
  23. Kurt Bakke. WebCL för att aktivera GPU-accelererade  webbappar . ConceivablyTech (3 mars 2011). Hämtad 4 mars 2011. Arkiverad från originalet 12 april 2012.
  24. Accent. Khronos publicerar WebGL 1.0-specifikationen - 3D-grafikacceleration för webbsidor utan plugin-program (länk ej tillgänglig) . iXBT.com (3 mars 2011). Hämtad 4 mars 2011. Arkiverad från originalet 6 mars 2011. 
  25. WebGL 2-specifikation . khronos.org (5 juli 2017). Hämtad 16 augusti 2017. Arkiverad från originalet 8 augusti 2017.
  26. WebGL - webb-API:er . MDN . Hämtad 16 augusti 2017. Arkiverad från originalet 28 augusti 2017.
  27. WebGL anses skadligt . Microsoft (16 juni 2011). Hämtad 16 juni 2011. Arkiverad från originalet 12 april 2012.
  28. Mozilla avvisar Microsofts kritik av WebGL . The Inquirer (20 juni 2011). Hämtad 29 juni 2011. Arkiverad från originalet 12 april 2012.
  29. Microsoft bekräftar (äntligen) WebGL-stöd för Internet Explorer 11 . TechCrunch (26 juni 2013). Hämtad 7 juli 2015. Arkiverad från originalet 9 juli 2015.
  30. Safari på iOS8 stöder WebGL - Den nya eran kan nu börja . I Programmerare (4 juni 2014). Hämtad 7 juli 2015. Arkiverad från originalet 7 juli 2015.
  31. OneGeek/WebGLU GitHub . Hämtad 15 mars 2013. Arkiverad från originalet 16 mars 2013.
  32. Benjamin DeLillo. Första WebGL-släppet . Bjatr.blogspot.com (2 oktober 2009). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012.
  33. CopperLicht - JavaScript 3D Engine som använder WebGL . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013.
  34. gwt-g3d - 3D-bibliotek för GWT - Google Project Hosting . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013.
  35. OSG.JS av cedricpinson . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013.
  36. cjcliffe/CubicVR.js GitHub . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013.
  37. Blend4Web officiella webbplats - Om projektet . Blend4web.com. Datum för åtkomst: 3 juli 2015. Arkiverad från originalet 1 juli 2015.
  38. Verge3D . Soft8Soft. Hämtad 14 juni 2018. Arkiverad från originalet 14 juni 2018.
  39. angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013.

Länkar