Ce este un browser WebGL™?

Un browser WebGL™ este un program conceput nu numai pentru a afișa documente de bază HyperText Markup Language (HTML), JavaScript® și foaie de stil în cascadă (CSS) care sunt online, ci și pentru a interpreta subsetul special al acestor specificații cunoscut sub numele de WebGL™. Din punct de vedere tehnic, WebGL™ nu este un limbaj de sine stătător, ci o bibliotecă grafică care utilizează elementul canvas al motorului de randare a browserului pentru a crea o punte între codul WebGL™, hardware-ul grafic și browser. Acest lucru oferă unui browser WebGL™ capacitatea de a reda grafică avansată tridimensională (3D) mult mai rapid decât ar fi posibil altfel utilizând alte tipuri de plug-in-uri și mai convenabil decât atunci când utilizați programe compilate separat în interiorul browserului. Aproape toate browserele web majore acceptă WebGL™ în mod nativ, deși acele browsere care nu implementează suport nativ au, în general, pluginuri terțe care expun componentele HTML necesare. În timp ce un browser WebGL™ este capabil să redă rapid grafica 3D datorită accesului direct oferit la o placă grafică a computerului, acesta este, de asemenea, sursa unor posibile găuri de securitate mari care ar putea permite unui program rău intenționat să execute cod dăunător pe un computer la distanță.

În esență, un browser WebGL™ conține cod care leagă în mod specific funcțiile incluse într-o bibliotecă grafică într-un mod astfel încât acestea să fie accesibile prin JavaScript®. Sub versiunea standard a limbajului HTML versiunea 5 (HTML5), există un element special cunoscut sub numele de pânză care poate fi folosit pentru a desena direct într-o zonă a ecranului fără a fi nevoie să utilizați pluginuri sau pentru a lucra cu etichete HTML sau CSS care s-ar putea să nu fie atât de precis pe cât este necesar. Într-un browser WebGL™ compatibil, JavaScript® este legat de o bibliotecă grafică de nivel scăzut și atrage direct la elementul de pânză HTML5, oferind o platformă pentru grafică care poate fi împinsă direct de pe o placă grafică pe un dispozitiv de afișare.

Bibliotecile utilizate sunt bibliotecile de sisteme integrate OpenGL® (OpenGL ES®), care sunt un subset al funcțiilor standard ale bibliotecii OpenGL® concepute pentru a funcționa cu dispozitive mobile. Unul dintre motivele pentru care este posibil un browser WebGL™ este natura ușoară a bibliotecilor WebGL™, care nu consumă cantități mari de resurse și nu conțin unele dintre funcțiile care necesită mult mai mult procesor ale implementării complete OpenGL®. O problemă recurentă cu un browser WebGL™ este însă că driverele și hardware-ul de pe un computer sau dispozitiv trebuie să poată rula o aplicație OpenGL ES®. Unele sisteme de operare, dispozitive, hardware și chiar drivere nu au capabilitățile de a rula un program WebGL™ și, de asemenea, nu au o soluție ușoară decât să înlocuiască hardware-ul grafic instalat.

Preocupările majore legate de siguranța și securitatea unui browser WebGL™ au împiedicat unii dezvoltatori majori de browsere să implementeze pe deplin suport pentru WebGL™. Acest lucru se reduce în primul rând la accesul direct pe care browser-ul îl oferă la codul WebGL™. Când este folosită cu răutate, placa grafică poate fi manipulată pentru a provoca daune prin sistemul gazdă sau, în cel mai rău caz, poate fi folosită ca o poartă pentru a executa sau a instala cod dăunător al computerului.