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 ( 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
- WebGL 1.0 - Byggd ovanpå OpenGL ES 2.0, GLSL ES version 1.00 [6] stöds för shaders .
- WebGL 2.0 - Byggd ovanpå OpenGL ES 3.0, GLSL ES versionerna 1.00 och 3.00 [7] stöds för shaders .
Implementering
- Mozilla Firefox - WebGL har aktiverats på alla plattformar som har rätt grafikkort med uppdaterade drivrutiner sedan version 4.0 [8] .
- Google Chrome - WebGL är aktiverat som standard i alla versioner sedan 9 [9] .
- Safari - Stöder WebGL experimentellt sedan version 5.1, fullt stöd implementerat och aktiverat som standard i version 8.0.
- Opera - WebGL är implementerat i Opera 12.0, men inaktiverat som standard.
- Internet Explorer - Från och med Internet Explorer 11 stöds WebGL officiellt [10] . Före version 11 släpptes Chrome Frame och IEWebGL plugins av oberoende utvecklare för att tillhandahålla de alternativ som behövs för att stödja WebGL i Internet Explorer.
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
- ↑ WebGL 2.0-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 28 januari 2017. (obestämd)
- ↑ 1 2 WebGL - OpenGL ES 2.0 för webben . Khronos.org. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ Khronos avslöjar API-uppdateringar och nya arbetsgrupper på GDC . Hämtad 12 oktober 2018. Arkiverad från originalet 8 mars 2017. (obestämd)
- ↑ WebGL-översikt . Datum för åtkomst: 12 december 2009. Arkiverad från originalet 15 december 2009. (obestämd)
- ↑ WebGL-specifikation . Khronos.org. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ WebGL-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 27 mars 2017. (obestämd)
- ↑ WebGL 2-specifikation . Tillträdesdatum: 8 februari 2017. Arkiverad från originalet 28 januari 2017. (obestämd)
- ↑ Mozilla Firefox 4 Release Notes (länk ej tillgänglig) . Hämtad 29 augusti 2011. Arkiverad från originalet 23 mars 2011. (obestämd)
- ↑ 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. (obestämd)
- ↑ WebGL (Windows) . Tillträdesdatum: 16 januari 2014. Arkiverad från originalet 16 januari 2014. (obestämd)
- ↑ suihkulokki. WebGL på N900 . Suihkulokki.blogspot.com (7 juni 2010). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ 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. (obestämd)
- ↑ 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. (obestämd)
- ↑ iclkevin. WebGL på mobila enheter . iChemLabs (12 november 2011). Hämtad 25 november 2011. Arkiverad från originalet 12 mars 2013. (obestämd)
- ↑ 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. (obestämd)
- ↑ Opera Mobile 12 . Opera programvara. Tillträdesdatum: 27 februari 2012. Arkiverad från originalet 12 mars 2013. (obestämd)
- ↑ WebGL på iOS 8 Safari och webbvy (nedlänk) . Hämtad 9 juli 2014. Arkiverad från originalet 14 juli 2014. (obestämd)
- ↑ 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
- ↑ Canvas 3D: GL-kraft, webb-stil . blog.vlad1.com. Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ Ta duken till en annan dimension . My.opera.com (26 november 2007). Hämtad 14 maj 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ 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. (obestämd)
- ↑ 1 2 WebGL 3D webbstandard når utkaststadier Arkiverad 15 december 2009 på Wayback Machine // Techradar
- ↑ 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.
- ↑ 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. (ryska)
- ↑ WebGL 2-specifikation . khronos.org (5 juli 2017). Hämtad 16 augusti 2017. Arkiverad från originalet 8 augusti 2017. (obestämd)
- ↑ WebGL - webb-API:er . MDN . Hämtad 16 augusti 2017. Arkiverad från originalet 28 augusti 2017. (obestämd)
- ↑ WebGL anses skadligt . Microsoft (16 juni 2011). Hämtad 16 juni 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ Mozilla avvisar Microsofts kritik av WebGL . The Inquirer (20 juni 2011). Hämtad 29 juni 2011. Arkiverad från originalet 12 april 2012. (obestämd)
- ↑ 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. (obestämd)
- ↑ 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. (obestämd)
- ↑ OneGeek/WebGLU GitHub . Hämtad 15 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
- ↑ 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. (obestämd)
- ↑ CopperLicht - JavaScript 3D Engine som använder WebGL . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
- ↑ gwt-g3d - 3D-bibliotek för GWT - Google Project Hosting . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
- ↑ OSG.JS av cedricpinson . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
- ↑ cjcliffe/CubicVR.js GitHub . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
- ↑ Blend4Web officiella webbplats - Om projektet . Blend4web.com. Datum för åtkomst: 3 juli 2015. Arkiverad från originalet 1 juli 2015. (obestämd)
- ↑ Verge3D . Soft8Soft. Hämtad 14 juni 2018. Arkiverad från originalet 14 juni 2018. (obestämd)
- ↑ angleproject - ANGLE: Almost Native Graphics Layer Engine - Google Project Hosting . Hämtad 14 mars 2013. Arkiverad från originalet 16 mars 2013. (obestämd)
Länkar