Web-pohjainen graafinen kirjasto (WebGL ™) on abstrakti ohjelmointirajapinta (API), joka on suunniteltu mahdollistamaan kolmiulotteisen (3D) grafiikan käytön suoraan web-selaimessa ilman tarvetta erillisille ohjelmistoille tai laajennuksille. . Ero 3D WebGL ™: n ja muiden selainpohjaisten 3D-graafisten kielten-kuten virtuaalitodellisuuden merkintäkielen (VRML)-välillä on se, että 3D WebGL ™ mahdollistaa suoran pääsyn näytönohjaimen grafiikkaprosessointiyksikköön (GPU). tietokone. Toinen ero on, että 3D WebGL ™ ei ole erillinen kieli, vaan sovellusliittymä, joka on toteutettu JavaScript® -skriptikielellä, jota lähes kaikki verkkoselaimet ymmärtävät. Vaikka tämäntyyppinen suora, matalan tason pääsy tietokonejärjestelmän laitteistoon on yksi WebGL ™: n vahvuuksista, se on myös yksi suurimmista ongelmista, koska se sisältää joukon turvallisuusongelmia, joita ei ole helppo ratkaista.
Yksi tärkeä kehitys, joka on tehnyt 3D WebGL ™: n mahdolliseksi, on kankaaselementin käyttöönotto HyperText Markup Language -määritysversiossa 5 (HTML5). Canvas-elementti mahdollistaa matalan tason pääsyn näkymään, joka voidaan piirtää sisään ja ylläpitää tyylillä, joka on yhteensopiva muiden tietokoneohjelmointikielillä olevien hahmonnussovellusliittymien kanssa. WebGL ™ -sovellusliittymä toimii tämän nopeutetun piirtoalustan kanssa tarjotakseen mahdollisuuden luoda monimutkaisia kohtauksia hyvin nopeasti ilman, että tarvitsee luottaa ohjelmistojen emulointiin eri alustoilla tai toteutuksissa.
3D WebGL ™ -sovellusliittymä ei käytä vain kangas -elementtiä, vaan se perustuu myös sulautettujen järjestelmien Open Graphics Library -kirjastoon (OpenGL ES®). Tämä on kannettava versio vakiomuotoisesta OpenGL®-kirjastosta, joka on suunniteltu käytettäväksi eri tietokoneiden käyttöjärjestelmien välillä, mutta myös kaikilla laitteilla, jotka vaativat matalan tason 3D-grafiikan käyttöä. Tämän pienen jalanjäljen ansiosta kirjasto voidaan integroida mihin tahansa selaimeen lähes millä tahansa laitteella.
3D WebGL ™: n käyttöönotto mahdollistaa interaktiivisten ohjelmien kehittämisen, jotka voidaan suorittaa suoraan verkkosivustosta tai ladata ja käyttää erillisenä sovelluksena verkkoselaimessa. Sitä voidaan käyttää 3D -videopelien, koulutusohjelmistojen, simulaatioiden ja 3D -visualisointiohjelmistojen luomiseen liike- ja tieteelliseen tutkimukseen. Käyttämällä selainta käärintäsovelluksena 3D -ympäristöjä voidaan kehittää ilman, että sinun tarvitsee huolehtia perusliittymien toistuvasta kattilakoodista.
Yksi sen suurimmista haitoista 3D WebGL ™: n käytössä ja se estää sen laajan hyväksynnän tiettyjen ohjelmisto- ja laitteistovalmistajien keskuudessa on sen aiheuttama turvallisuusriski. Ohjelman kyky käyttää GPU: ta voi antaa haittaohjelmalle mahdollisuuden pakottaa isäntätietokonejärjestelmä suorittamaan haitallista koodia. On myös osoitettu, että palvelunestohyökkäykset (DOS) ovat mahdollisia käyttämällä WebGL ™ -sovellusliittymää. Tästä syystä jotkut suuret tietokoneyritykset kieltäytyvät täysin tukemasta WebGL ™ -tuotetta tuotteissaan.