WebGL

WebGL
Kategooria:Leheküljed, mille infokastis on vikiteksti pildisüntaks
Autor Mozilla Foundation
Arendaja Khronos WebGL Working Group
Esmaväljalase 3. märts 2011[1]
Viimane väljalase 2.0
Platvorm Cross-platform
Keeled inglise
Suunitlus rakendusliides
Veebisait www.khronos.org/webgl/

WebGL ehk Web Graphics Library on JavaScripti rakendusliides, mis aitab renderdada interaktiivset 2D- ja 3D-graafikat läbi veebibrauseri ilma pistikprogrammideta.[2]

WebGL-i elemente saab segada kokku HTML-elementidega ning kompositeerida teiste osadega lehest või lehe taustast.[3] WebGL programmid koosnevad kontrollkoodist, mis on kirjutatud JavaScriptis, ning varjutaja koodist, mis on kirjutatud C ja C++ keeltega sarnases ESSL-is (OpenGL ES Shading Language), ning WebGLi käitatakse arvuti graafikakaardi abil. WebGL-i haldab mittetulundusühendus Khronos Group.[4]

WebGL põhineb OpenGL ES-i programmil ning kasutab HTML5 lõuendi elementi, ning sellele pääseb ligi läbi dokumendi objektimudeli (DOM) liideste. Kuna tegemist on JavaScripti rakendusliidesega, pärinevad WebGL-i mälukoristusvahendid JavaScriptist.[5][6]

Ajalugu

WebGL kasvas välja eksperimentaalsest tarkvarast Canvas 3D, mille arendamisega tegeles Mozillas Vladimir Vukićević. Vukićević demonstreeris Canvas 3D prototüüpi esimest korda 2006. aastal. 2007. aasta lõpuks olid oma implementatsioonid Canvas 3D-st loonud nii Mozilla[7] kui ka Opera.[8]

Canvas 3D põhjal alustas mittetulundusühing Khronos Group 2009. aasta algul töörühma WebGL Working Group, milles osalesid ka Apple, Google, Mozilla, Opera ja teised.[4] [9] WebGL spetsifikatsiooni versioon 1.0 ilmus 2011. aasta märtsis.[1]

Versiooni 2.0 loomine algas 2013. aastal ning spetsifikatsioon ilmus 2017. aasta jaanuaris.[10] Esimesed implementatsioonid WebGL versioonist 2.0 olid Firefoxi versioonis 51, Chrome'i versioonis 56 ja Opera versioonis 43.[11]

Tarkvara

WebGL on tänapäevastes veebibrauserites laialdaselt toetatud. Siiski võib selle kättesaadavus oleneda ka riistvaralistest teguritest, eelkõige seoses graafikakaardiga. WebGL ametlikul veebisaidil leidub lihtne test, mis aitab kindlaks teha, kas WebGL on toetatud.[12] Detailsemat infot WebGL implementatsiooni ja muu kohta leiab kolmandate osapoolte loodud veebilehtedelt.[13][14]

Töölauabrauserid

  • Google Chrome – WebGL 1.0 on toetatud alates versioonist 9, mis ilmus 2011. aasta veebruaris.[15] WebGL 2.0 on toetatud alates versioonist 56.[11]
  • Mozilla Firefox – WebGL 1.0 on toetatud alates versioonist 4.0.[16] WebGL 2.0 on toetatud alates versioonist 51.[11]
  • Safari – Safari 6.0 ning uuemad versioonid OS X Mountain Lioni ning Mac OS X Lioni peal pakuvad WebGL 1.0 toetust, samuti Safari 5.1 ning uuemad versioonid Mac OS X Snow Leopardil, kuid enne Safari versiooni 8.0 oli WebGL vaikimisi välja lülitatud.[17][18][19][20][21] Safari versioon 12 macOS Mojave peal pakub WebGL 2.0 toetust, kuid toetus on märgitud kui "eksperimentaalne" funktsioon.
  • Opera – WebGL 1.0 implementeeriti versioonides 11 ja 12, kuid oli vaikimisi välja lülitatud.[22][23] WebGL 2.0 on toetatud alates versioonist 43.[11]
  • Internet Explorer – WebGL 1.0 on osaliselt toetatud versioonis 11.[24][25] Varasemad Internet Exploreri versioonid toetavad WebGL-i kolmandate osapoolte loodud pistikprogrammide, nagu IEWebGL abil.[26]
  • Microsoft Edge – WebGL 1.0 on toetatud alates versioonist 10240. WebGL 2.0 on toetatud alates Chromiumi baasil töötavast versioonist 76.[27]

Mobiilsed brauserid

  • Androidi brauser – pole pakkunud kunagi ametlikult WebGL-i toetust. Mõningad Sony Xperia ning Samsungi telefonid toetavad WebGL-i osaliselt. Suuremas osas Androidi telefonides asendati brauser Google Chrome'iga, mis WebGL-i toetab, kuid ei ole Androidi brauseri enda versioon.[28]
  • Firefox for Android – WebGL 1.0 on toetatud alates versioonist 4.[29][30]WebGL 2.0 on toetatud alates versioonist 68.[31]
  • Google Chrome – WebGL 1.0 on toetatud alates versioonist 25[30] ja vaikimisi sisse lülitatud alates versioonist 30.[32] WebGL 2.0 on toetatud alates versioonist 78.[31]
  • Microsoft Edge – WebGL 1.0 on toetatud alatest Windows 10 Mobile versioonist.[33]
  • Opera Mobile – WebGL on implementeeritud alates versioonist 12, kuid ainult Androidil.[34][30] Alates versioonist 46 on toetatud ka WebGL 2.0.[31]
  • iOS Safari – WebGL on toetatud alates iOS versioonist 8.[35][30] WebGL 2.0 toetust ei ole.[31]

Kasutus ja pistikprogrammid

Tõhususe parandamine

WebGL on iseenesest madaltasemeline, mistõttu on temaga kiire 3D-graafika loomine üpriski keeruline, seetõttu on loodud mitmeid teeke, mis aitavad 3D-graafika loomisele kaasa. Mõned teegid, mis lisavad kõrgetasemelisi funktsioone, on näiteks A-Frame[36], Babylon.js[37], PlayCanvas[38], three.js[39], OSG.JS[40] ja CopperLicht[41].

Mängumootorid

WebGL-i jaoks on loodud ka mängumootoreid nii 2D- kui 3D-graafikaga veebimängude loomiseks.[42] Nii Unreal Engine 4 kui ka Unity mängumootor töötavad WebGL-iga[43], samuti on loodud WebGL-ile spetsiaalseid mängumootoreid, nagu PlayCanvas.[38]

2D-graafikale orienteeritud teekide, näiteks Cocos2d või Pixi.js, eelis on ka see, et neil on võimalik kasutada WebGL-i puudumise korral tagavarana ka HTML5 lõuendi elementi.[44]

Vaata ka

Viited

  1. 1 2 "Khronos Releases Final WebGL 1.0 Specification" (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  2. Gregg Tavares (9. veebruar 2012). "WebGL Fundamentals". HTML5 Rocks (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  3. Tony Parisi (15. august 2012). "WebGL: Up and Running". O'Reilly Media, Incorporated (inglise keeles). Originaali arhiivikoopia seisuga 1. veebruar 2013. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: robot: algse URL-i olek teadmata (link) CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: robot: algse URL-i olek teadmataKategooria:CS1 hooldus: tundmatu keel
  4. 1 2 "WebGL – OpenGL ES 2.0 for the Web". Khronos.org (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  5. "WebGL Specification". Khronos.org (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  6. "WebGL 2.0 Specification". Khronos.org (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  7. "Canvas 3D: GL power, web-style". blog.vlad1.com (inglise keeles). Originaali arhiivikoopia seisuga 17. juuli 2011. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  8. "Taking the canvas to another dimension". my.opera.com (inglise keeles). 26. november 2007. Originaali arhiivikoopia seisuga 17. november 2007. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  9. "Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet". Khronos.org (inglise keeles). 4. august 2009. Originaali arhiivikoopia seisuga 19. aprill 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  10. "WebGL 2 Specification". khronos.org. 26. september 2013. Vaadatud 4. jaanuaril 2020.
  11. 1 2 3 4 "WebGL - Web APIs". MDN (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  12. "WebGL test page". webgl.org (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  13. "WebGL Report". webglreport.com (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  14. "WebGL Browser Report — WebGL Detection — WebGL Tester — BrowserLeaks". browserleaks.com (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  15. "WebGL in Chrome Stable! - Learning WebGL". learningwebgl.com (inglise keeles). Originaali arhiivikoopia seisuga 28. mai 2015. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  16. "Mozilla Firefox 4 Release Notes". Mozilla.com. 22. märts 2011. Vaadatud 4. jaanuaril 2020.
  17. "New in OS X Lion: Safari 5.1 brings WebGL, Do Not Track and more". fairerplatform.com (inglise keeles). 3. mai 2011. Originaali arhiivikoopia seisuga 19. märts 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  18. "Enable WebGL in Safari". Ikriz.nl (inglise keeles). 23. august 2011. Originaali arhiivikoopia seisuga 4. märts 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  19. "Getting a WebGL Implementation". Khronos.org (inglise keeles). 13. jaanuar 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  20. "Implementations/WebKit". Khronos.org (inglise keeles). 3. september 2011. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  21. "WebGL Now Available in WebKit Nightlies". Webkit.org (inglise keeles). Originaali arhiivikoopia seisuga 8. märts 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  22. "WebGL and Hardware Acceleration". my.opera.com (inglise keeles). 28. veebruar 2011. Originaali arhiivikoopia seisuga 3. märts 2011. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  23. "Introducing Opera 12 alpha". my.opera.com (inglise keeles). 13. oktoober 2011. Originaali arhiivikoopia seisuga 15. oktoober 2011. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  24. "WebGL (Windows)". Microsoft (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  25. "Internet Explorer 11 to support WebGL and MPEG Dash". Engadget (inglise keeles). 26. juuni 2013. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  26. "IEWebGL". GitHub (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  27. "The status of WebGL 2.0 in Microsoft Edge is Under Consideration". Microsoft Edge Development (inglise keeles). Originaali arhiivikoopia seisuga 27. detsember 2018. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  28. "Xperia™ phones first to support WebGL™ – Developer World". blogs.sonyericsson.com (inglise keeles). 29. november 2011. Originaali arhiivikoopia seisuga 3. detsember 2011. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  29. "Mobile HTML5 compatibility on iPhone, Android, Windows Phone, BlackBerry, Firefox OS and other mobile devices" (inglise keeles). Originaali arhiivikoopia seisuga 15. aprill 2022. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  30. 1 2 3 4 "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  31. 1 2 3 4 "Can I use... Support tables for HTML5, CSS3, etc". caniuse.com (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  32. Jason Kersey. "Chrome Beta for Android Update". Chrome Releases Blog (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  33. "Dev guide: WebGL – Microsoft Edge Development". Microsoft (inglise keeles). Originaali arhiivikoopia seisuga 8. oktoober 2016. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  34. "Opera Mobile 12". Opera Software (inglise keeles). Originaali arhiivikoopia seisuga 1. märts 2012. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  35. Andrew Cunningham (17. september 2014). "iOS 8, Thoroughly Reviewed". Ars Technicae (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  36. "Introduction". A-Frame (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  37. "Babylon.js: Powerful, Beautiful, Simple, Open - Web-Based 3D At Its Best". Babylon.js (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  38. 1 2 "PlayCanvas WebGL Game Engine". PlayCanvas (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  39. "Creating a scene - three.js docs". three.js (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  40. "OSG.JS". OSG.JS (inglise keeles). Originaali arhiivikoopia seisuga 29. märts 2013. Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  41. "CopperLicht - JavaScript/WebGL 3D library". CopperLicht (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  42. Tony Parisi (2014). Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages (inglise keeles). O'Reilly Media, Inc. Lk 364–366. ISBN 978-1-4493-6395-6.{{raamatuviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  43. Stephen Barrett. "Tegra K1 Lands in Acer's Newest Chromebook". anandtech.com (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel
  44. "The WebGL potential - TypedArray.org". typedarray.org (inglise keeles). Vaadatud 4. jaanuaril 2020.{{netiviide}}: CS1 hooldus: tundmatu keel (link)Kategooria:CS1 hooldus: tundmatu keel

Välislingid

Kategooria:Arvutigraafika
Kategooria:Arvutigraafika Kategooria:CS1 hooldus: robot: algse URL-i olek teadmata Kategooria:CS1 hooldus: tundmatu keel Kategooria:Leheküljed, mille infokastis on vikiteksti pildisüntaks