Kaj je 3D WebGL™?

Spletna grafična knjižnica (WebGL™) je abstraktni programski vmesnik (API), zasnovan tako, da omogoča uporabo tridimenzionalne (3D) grafike neposredno v spletnem brskalniku brez potrebe po programski opremi ali vtičnikih, ločenih od jedrnega brskalnika. . Razlika med 3D WebGL™ in drugimi 3D grafičnimi jeziki, ki temeljijo na brskalniku – kot je označevalni jezik za navidezno resničnost (VRML) – je v tem, da 3D WebGL™ omogoča neposreden dostop do grafične procesne enote (GPU) na kartici strojne opreme, ki je prisotna v računalnik. Druga razlika je v tem, da 3D WebGL™ ni ločen jezik, temveč API, ki se izvaja prek skriptnega jezika JavaScript®, ki ga domačno razumejo skoraj vsi spletni brskalniki. Čeprav je ta vrsta neposrednega dostopa na nizki ravni do strojne opreme računalniškega sistema ena od prednosti WebGL™, je tudi ena večjih težav, saj predstavlja vrsto varnostnih vprašanj, ki jih ni enostavno rešiti.

Pomemben razvoj, ki je omogočil 3D WebGL™, je uvedba elementa platna v specifikaciji HyperText Markup Language različice 5 (HTML5). Element platna omogoča dostop na nizki ravni do vidnega polja, ki ga je mogoče narisati in vzdrževati v slogu, ki je skladen z obstoječimi vrstami API-jev za upodabljanje v drugih računalniških programskih jezikih. API WebGL™ deluje s tem pospešenim platnom in zagotavlja možnost zelo hitrega upodabljanja zapletenih prizorov, ne da bi se morali zanašati na emulacijo programske opreme na različnih platformah ali izvedbah.

API 3D WebGL™ ne uporablja samo elementa platna, ampak temelji tudi na odprti grafični knjižnici za vdelane sisteme (OpenGL ES®). To je prenosna različica standardne knjižnice OpenGL®, ki je zasnovana tako, da je prenosljiva ne samo med različnimi računalniškimi operacijskimi sistemi, ampak tudi v kateri koli napravi, ki zahteva uporabo nizkonivojske 3D grafike. Ta majhen odtis omogoča integracijo knjižnice v kateri koli brskalnik za skoraj vsako napravo.

Implementacija 3D WebGL™ omogoča razvoj interaktivnih programov, ki jih je mogoče zagnati neposredno s spletnega mesta ali naložiti in izvajati kot samostojna aplikacija v spletnem brskalniku. Uporablja se lahko za ustvarjanje 3D video iger, izobraževalne programske opreme, simulacij in programske opreme za 3D vizualizacijo za poslovne in znanstvene raziskave. Z uporabo brskalnika kot ovojne aplikacije je mogoče razviti 3D okolja, ne da bi vam bilo treba skrbeti za ponavljajočo se standardno kodo za osnovne vmesnike.

Ena največjih pomanjkljivosti uporabe 3D WebGL™ in tista, ki preprečuje njegovo splošno sprejetje pri določenih podjetjih za proizvodnjo programske in strojne opreme, je varnostno tveganje, ki ga predstavlja. Zmožnost, da program dostopa do GPU-ja, lahko da zlonamernemu programu možnost, da prisili gostiteljski računalniški sistem, da izvede škodljivo kodo. Pokazalo se je tudi, da so napadi z zavrnitvijo storitve (DOS) možni z uporabo API-ja WebGL™. Iz tega razloga obstaja nekaj večjih računalniških podjetij, ki zavračajo popolno podporo WebGL™ v svojih izdelkih.