Kaj je brskalnik WebGL™?

Brskalnik WebGL™ je program, zasnovan ne samo za prikazovanje osnovnih dokumentov za označevalni jezik hiperbesedila (HTML), JavaScript® in kaskadnih slogovnih listov (CSS), ki so na spletu, temveč tudi za razlago posebnega podmnožice teh specifikacij, znanih kot WebGL™. Tehnično gledano WebGL™ ni samostojen jezik, temveč grafična knjižnica, ki uporablja element platna motorja za upodabljanje brskalnika za ustvarjanje mostu med kodo WebGL™, grafično strojno opremo in brskalnikom. To daje brskalniku WebGL™ možnost upodabljanja napredne tridimenzionalne (3D) grafike veliko hitreje, kot bi bilo sicer mogoče z drugimi vrstami vtičnikov in bolj priročno kot pri uporabi ločeno prevedenih programov v brskalniku. Skoraj vsi glavni spletni brskalniki izvorno podpirajo WebGL™, čeprav imajo tisti brskalniki, ki ne izvajajo domače podpore, na splošno vtičnike tretjih oseb, ki razkrivajo potrebne komponente HTML. Čeprav je brskalnik WebGL™ sposoben hitro upodabljati 3D grafiko zaradi neposrednega dostopa do računalniške grafične kartice, je to tudi vir potencialno velikih varnostnih lukenj, ki bi lahko zlonamernemu programu omogočile izvajanje škodljive kode na oddaljenem računalniku.

V bistvu brskalnik WebGL™ vsebuje kodo, ki posebej povezuje funkcije, vključene v grafično knjižnico, na način, da so dostopne prek JavaScript®. Pod standardno različico jezika HTML 5 (HTML5) obstaja poseben element, znan kot platno, ki ga je mogoče uporabiti za risanje neposredno na območje zaslona brez uporabe vtičnikov ali za delo z oznakami HTML ali CSS, ki morda ni tako natančno, kot je potrebno. Znotraj združljivega brskalnika WebGL™ je JavaScript® vezan na grafično knjižnico nizke ravni in se vleče neposredno na element platna HTML5, kar zagotavlja platformo za grafiko, ki jo je mogoče potisniti neposredno z grafične kartice na prikazovalno napravo.

Uporabljene knjižnice so knjižnice vgrajenih sistemov OpenGL® (OpenGL ES®), ki so podmnožica standardnih funkcij knjižnice OpenGL®, zasnovanih za delo z mobilnimi napravami. Eden od razlogov, zakaj je brskalnik WebGL™ možen, je lahka narava knjižnic WebGL™, ki ne porabijo velikih količin virov in ne vsebujejo nekaterih procesorsko intenzivnih funkcij celotne implementacije OpenGL®. Ponavljajoča se težava z brskalnikom WebGL™ pa je, da morajo gonilniki in strojna oprema v računalniku ali napravi biti sposobni izvajati aplikacijo OpenGL ES®. Nekateri operacijski sistemi, naprave, strojna oprema in celo gonilniki nimajo zmogljivosti za zagon programa WebGL™ in tudi nimajo enostavne rešitve, razen zamenjave nameščene grafične strojne opreme.

Večji pomisleki glede varnosti in zaščite brskalnika WebGL™ so nekaterim večjim razvijalcem brskalnikov preprečili, da bi v celoti uvedli podporo za WebGL™. To je predvsem posledica neposrednega dostopa, ki ga brskalnik omogoča do kode WebGL™. Če se zlonamerno uporablja, se lahko z grafično kartico manipulira, da povzroči škodo prek gostiteljskega sistema, ali pa jo v najslabšem primeru uporabi kot prehod za izvajanje ali namestitev škodljive računalniške kode.