Mis on WebGL™-i brauser?

WebGL™-i brauser on programm, mis on loodud mitte ainult põhiliste veebis olevate hüperteksti märgistuskeele (HTML), JavaScript®-i ja CSS-dokumentide kuvamiseks, vaid ka nende spetsifikatsioonide spetsiaalse alamhulga tõlgendamiseks, mida nimetatakse WebGL™-iks. Tehniliselt ei ole WebGL™ iseseisev keel, vaid graafikateek, mis kasutab brauseri renderdusmootori lõuendielementi, et luua sild WebGL™ koodi, graafika riistvara ja brauseri vahel. See annab WebGL™-brauserile võimaluse renderdada täiustatud kolmemõõtmelist (3D) graafikat palju kiiremini, kui see muidu muud tüüpi pistikprogrammide abil võimalik oleks, ja mugavamalt kui brauseris eraldi kompileeritud programme kasutades. Peaaegu kõik suuremad veebibrauserid toetavad WebGL™-i natiivselt, kuigi nendel brauseritel, mis natiivset tuge ei rakenda, on tavaliselt kolmanda osapoole pistikprogrammid, mis avaldavad vajalikud HTML-i komponendid. Kuigi WebGL™-i brauser suudab arvutigraafikakaardile otsejuurdepääsu tõttu kiiresti 3D-graafikat renderdada, on see ka potentsiaalselt suurte turvaaukude allikas, mis võivad lubada pahatahtlikul programmil käivitada kaugarvutis kahjulikku koodi.

Sisuliselt sisaldab WebGL™-i brauser koodi, mis lingib konkreetselt graafika teegis olevad funktsioonid viisil, mis on JavaScript®-i kaudu juurdepääsetav. HTML-i keelestandardi versioonis 5 (HTML5) on spetsiaalne element, mida nimetatakse lõuendiks, mida saab kasutada otse ekraani alale joonistamiseks ilma pistikprogramme kasutamata või töötamiseks HTML- või CSS-märgenditega, mis ei pruugi olla nii täpne kui nõutud. Ühilduvas WebGL™-i brauseris on JavaScript® seotud madala taseme graafikateegiga ja tõmbub otse HTML5 lõuendielemendile, pakkudes platvormi graafika jaoks, mida saab otse graafikakaardilt kuvaseadmesse lükata.

Kasutatavad teegid on OpenGL® manustatud süsteemide teegid (OpenGL ES®), mis on standardsete OpenGL® teegi funktsioonide alamhulk, mis on loodud mobiilseadmetega töötamiseks. Üks põhjus, miks WebGL™-i brauser on võimalik, on WebGL™-i teekide kerge olemus, mis ei tarbi palju ressursse ega sisalda OpenGL®-i täieliku juurutuse protsessorimahukamaid funktsioone. WebGL™-i brauseri puhul on aga korduv probleem see, et arvuti või seadme draiverid ja riistvara peavad suutma käitada OpenGL ES®-i rakendust. Mõnel operatsioonisüsteemil, seadmel, riistvaral ja isegi draiveritel ei ole WebGL™-programmi käitamiseks vajalikke võimalusi ega ka lihtsat lahendust peale installitud graafika riistvara asendamise.

Suured mured WebGL™-i brauseri ohutuse ja turvalisuse pärast on takistanud mõnel suuremal brauseriarendajal WebGL™-i tuge täielikult juurutada. See taandub peamiselt otsesele juurdepääsule, mille brauser pakub WebGL™ koodile. Pahatahtlikul kasutamisel saab graafikakaarti manipuleerida, et tekitada kahju hostsüsteemi kaudu, või halvimal juhul võib seda kasutada lüüsina kahjuliku arvutikoodi käivitamiseks või istutamiseks.