From Wikipedia, the free encyclopedia
WebGL ehk Web Graphics Library on JavaScripti rakendusliides, mis aitab renderdada interaktiivset 2D- ja 3D-graafikat läbi veebibrauseri ilma pistikprogrammideta.[2]
WebGL | |
---|---|
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 |
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]
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]
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]
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].
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]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.