Biblioteca grafică bazată pe web (WebGL™) este o interfață de programare abstractă (API) concepută pentru a permite utilizarea graficelor tridimensionale (3D) direct într-un browser web, fără a fi nevoie de software sau plug-in-uri separate de browserul principal. . Diferența dintre 3D WebGL™ și alte limbaje grafice 3D bazate pe browser – cum ar fi limbajul de markup al realității virtuale (VRML) – este că 3D WebGL™ permite accesul direct la unitatea de procesare grafică (GPU) de pe cardul de afișare hardware prezent în calculator. O altă diferență este că 3D WebGL™ nu este un limbaj separat, ci un API implementat prin limbajul de scripting JavaScript® care este înțeles în mod nativ de aproape toate browserele web. Deși acest tip de acces direct, la nivel scăzut, la hardware-ul sistemului informatic este unul dintre punctele forte ale WebGL™, este și una dintre problemele mai mari, deoarece prezintă o serie de probleme de securitate care nu sunt ușor de rezolvat.
O dezvoltare importantă care a făcut posibilă 3D WebGL™ este introducerea elementului canvas în specificația HyperText Markup Language versiunea 5 (HTML5). Elementul canvas permite accesul la nivel scăzut la o fereastră de vizualizare care poate fi desenată și menținută într-un stil compatibil cu tipurile existente de API-uri de randare în alte limbaje de programare pentru computer. API-ul WebGL™ funcționează cu această pânză accelerată pentru a oferi capacitatea de a reda scene complexe foarte rapid, fără a fi nevoie să se bazeze pe emularea software pe diferite platforme sau implementări.
3D WebGL™ API nu numai că folosește elementul canvas, ci se bazează și pe Open Graphics Library for Embedded Systems (OpenGL ES®). Aceasta este o versiune portabilă a bibliotecii standard OpenGL® care este concepută pentru a fi portabilă nu numai între diferite sisteme de operare computerizate, ci și pe orice dispozitiv care necesită utilizarea graficelor 3D de nivel scăzut. Această amprentă mică permite ca biblioteca să fie integrată în orice browser pentru aproape orice dispozitiv.
Implementarea 3D WebGL™ permite dezvoltarea de programe interactive care pot fi rulate direct de pe un site web sau descărcate și rulate ca aplicație autonomă în browserul web. Poate fi folosit pentru a crea jocuri video 3D, software educațional, simulări și software de vizualizare 3D pentru afaceri și cercetare științifică. Folosind browserul ca aplicație de ambalare, mediile 3D pot fi dezvoltate fără a fi nevoie să vă faceți griji cu privire la codul repetitiv pentru interfețele de bază.
Unul dintre cele mai mari dezavantaje ale utilizării 3D WebGL™ și unul care împiedică acceptarea sa pe scară largă de către anumite companii producătoare de software și hardware, este riscul de securitate pe care îl prezintă. Capacitatea unui program de a accesa GPU poate oferi unui program rău intenționat capacitatea de a forța sistemul computerului gazdă să execute cod dăunător. De asemenea, s-a demonstrat că atacurile de tip denial of service (DOS) sunt posibile folosind API-ul WebGL™. Din acest motiv, există unele companii importante de calculatoare care refuză să accepte pe deplin WebGL™ în produsele lor.