Kraj jedne ere: WebGL 1 odlazi u „maintenance mode”
U 2025. fokus 3D web zajednice je na WebGPU-u, ali najosjetnija promjena za većinu timova zapravo se događa na razini WebGL-a. Veliki 3D enginei prestaju aktivno podržavati WebGL 1 i standardiziraju se na kombinaciji WebGL 2 + WebGPU. WebGL 1 formalno još postoji, ali je u praksi gurnut u status „samo kritični bugfixevi”.
To se ne događa preko noći. Enginei uvode dvostruke linije verzija, zamrzavaju staru generaciju koda i nove značajke vežu isključivo uz WebGL 2 i WebGPU pipeline. Za većinu novih projekata to znači da je WebGL 1 realno izvan igre, osim ako ciljano ne gađate vrlo star hardver ili specifične embedded preglednike.
PlayCanvas kao indikator trenda: V1 vs V2 linija
PlayCanvas je jedan od prvih većih web 3D enginea koji je formalno razdvojio podršku:
- V1 linija – podržava WebGL 1 i WebGL 2, ali dobiva samo kritične ispravke i sigurnosne nadogradnje.
- V2 linija – donosi nove značajke, moderni rendering pipeline i WebGPU backend, ali koristi isključivo WebGL 2 i WebGPU.
U migracijskoj dokumentaciji PlayCanvasa eksplicitno piše da je WebGL 1 uklonjen iz V2 enginea. Svi novi grafički featurei – napredni PBR modeli, efikasniji buffer management, moderni materijalni sustavi, fleksibilniji rendering passovi – vezani su uz WebGL 2 ili WebGPU. WebGL 1 ostaje samo u V1 liniji kao svojevrsni LTS (long-term support) za postojeće projekte.
Time je poruka jasna: ako želite nove mogućnosti, morate prihvatiti WebGL 2 kao minimum. Ako trebate WebGL 1, ostajete na starom engineu i svjesno prihvaćate tehnički dug.
Što to znači za postojeće WebGL 1 projekte
Timovi koji još ovise o WebGL 1 sada imaju tri realne opcije:
- Ostati na staroj verziji enginea – tretirati je kao LTS, bez novih featurea, uz minimalne sigurnosne zakrpe.
- Razdvojiti kodnu bazu – zadržati WebGL 1 build za stare uređaje i paralelno razvijati WebGL 2/WebGPU verziju.
- Potpuno migrirati na WebGL 2 – odrezati najstarije uređaje i uskladiti se s modernim pipelineom.
Sve tri opcije nose trošak. Ostanak na starom engineu znači da dugoročno propuštate optimizacije, sigurnosna poboljšanja i nove rendering tehnike. Razdvajanje kodne baze uvodi dvostruko održavanje shader koda, asset pipelinea i testnih scenarija. Potpuna migracija na WebGL 2 pak zahtijeva analizu korisničke baze i hrabru odluku da se odrežete od dijela starijeg hardvera.
U praksi, mnogi timovi biraju hibridni pristup: postojeći WebGL 1 projekt se „zamrzne” u LTS režimu, uz samo nužne popravke, dok se sav novi razvoj prebacuje na WebGL 2 i WebGPU. Tako se tehnički dug ne multiplicira, a poslovni rizik je ograničen na postojeću korisničku bazu.
Inventura ciljanih uređaja: gdje WebGL 1 još ima smisla
Uklanjanje WebGL 1 iz novih verzija enginea prisiljava timove da naprave detaljnu inventuru ciljnih uređaja i preglednika. Pitanje više nije „podržava li WebGL 2 dovoljno uređaja”, nego: koliko je stvarno velik segment korisnika koji je zapeo na WebGL 1?
Tipične situacije gdje WebGL 1 još ima poslovni smisao:
- stari Android telefoni i tableti u tržištima s niskom kupovnom moći,
- ugrađeni preglednici u infotainment sustavima, kiosk rješenjima i starijim smart TV platformama,
- enterprise okruženja s zaključanim verzijama preglednika i sporim ciklusom nadogradnje.
Za svaki od tih segmenata potrebno je kvantificirati promet, prihode i trošak održavanja. Ako WebGL 1 korisnici generiraju mali dio ukupnog prometa ili prihoda, poslovno je racionalno ograničiti podršku na postojeće verzije aplikacije i ne uvoditi nove značajke za njih.
WebGL 2 kao novi minimum: što se mijenja u praksi
Kako enginei poput PlayCanvasa, Babylona ili Three.js-a standardiziraju WebGL 2 kao osnovni backend, mijenja se način planiranja performansi i feature seta. WebGL 2 više nije „napredna opcija”, već očekivani minimum.
Ključne mogućnosti koje WebGL 2 uvodi u odnosu na WebGL 1 i koje sada možete tretirati kao „sigurne” za moderne projekte:
- Uniform Buffer Objects (UBO) – efikasnije upravljanje uniformama, manje draw call overheada.
- Multiple Render Targets (MRT) – istovremeno renderiranje u više render-targeta, važno za deferred shading i napredne post-process efekte.
- Transform feedback i naprednije upravljanje bufferima – korisno za particle sustave, simulacije i streaming geometrije.
- Standardiziraniji PBR pipeline – kvalitetniji materijali, HDR, IBL i fizikalno ispravno osvjetljenje.
Za složenije scene, poput recentnih showcaseova s Gaussian Splattingom, streamanim LOD-ovima i agresivnim cullingom, WebGL 2 je postao minimalni prag. Mnoge od tih tehnika jednostavno je nepraktično ili nemoguće implementirati performantno na WebGL 1 ograničenjima.
WebGL 2 kao fallback, WebGPU kao „fast path”
Istovremeno, enginei pozicioniraju WebGL 2 kao „mature i široko podržan” backend koji automatski preuzima ulogu fallbacka kada WebGPU nije dostupan. Tipičan model u 2025. izgleda ovako:
- WebGPU – primarni backend na novijim preglednicima i uređajima, s naglaskom na maksimalne performanse, bolje upravljanje memorijom i napredne compute scenarije.
- WebGL 2 – univerzalni fallback koji pokriva većinu desktop i mobilnih preglednika, uz dovoljno bogat feature set za moderni PBR i kompleksne scene.
- WebGL 1 – samo za stare konfiguracije, kroz LTS buildove ili zasebne, ograničene verzije aplikacije.
Za developere to pojednostavljuje odluku: nema više potrebe dizajnirati glavni rendering pipeline oko WebGL 1 ograničenja. Umjesto toga, planirate scene i efekte za WebGL 2, a WebGPU koristite kao dodatni „fast path” za zahtjevne efekte, veće rezolucije, napredni post-processing ili compute-heavy algoritme.
Kako strukturirati migraciju s WebGL 1 na WebGL 2
Za timove s dugačkim repom WebGL 1 projekata, ad-hoc pristup migraciji je recept za kaos. Potreban je jasan, fazni plan:
1. Analiza koda i ovisnosti
- identificirati dijelove koda koji ovise o WebGL 1 specifičnostima (npr. ekstenzije koje WebGL 2 rješava nativno),
- mapirati korištene ekstenzije i provjeriti njihove WebGL 2 ekvivalente,
- pregledati asset pipeline (formati tekstura, layout buffera, shader preprocesore).
2. Modernizacija shader pipelinea
- prebaciti se na GLSL verzije i konstrukte podržane u WebGL 2 kontekstu,
- standardizirati layout uniformi i UBO-e,
- ukloniti workarounde i hackove koji su postojali samo zbog WebGL 1 limita.
3. Testiranje na WebGL 2-only konfiguracijama
- unutar istog enginea forsirati WebGL 2 backend i provjeriti cjelokupan rendering pipeline,
- testirati frame pacing, FPS stabilnost i ponašanje pri različitim razlučivostima,
- usporediti vizualnu paritetu između starog WebGL 1 i novog WebGL 2 builda.
4. Postupno uključivanje WebGPU backenda
- za nove featuree dizajnirati arhitekturu koja predviđa WebGPU „fast path”,
- izolirati dijelove koda koji koriste compute ili napredne GPU mogućnosti,
- paziti da WebGL 2 verzija ostane funkcionalno ekvivalentna, iako možda manje performantna.
Primjeri strategija za različite tipove projekata
1. Igra ili interaktivni 3D sadržaj za masovno tržište
Za nove naslove ima smisla:
- ciljati WebGL 2 kao jedini WebGL API,
- nuditi WebGPU kao opcionalnu postavku „visoka kvaliteta” ili „performance mode”,
- za WebGL 1 korisnike eventualno zadržati stariju verziju igre s manjim setom značajki.
2. Enterprise vizualizacija ili B2B alat
Ovdje je često važnija stabilnost i kompatibilnost nego cutting-edge grafika:
- analizirati konkretne preglednike i OS-ove u flotama klijenata,
- definirati službeno podržani minimum (često Chrome/Edge/Firefox zadnjih par verzija, što već implicira WebGL 2),
- WebGL 1 podršku ograničiti na „best effort” bez garancije novih featurea.
3. Ugrađeni sustavi i specijalizirani uređaji
Za infotainment, kioske ili industrijske terminale:
- često je nužno zadržati WebGL 1 zbog zaključanih platformi,
- ima smisla održavati poseban, pojednostavljen WebGL 1 build s reduciranim shaderima i efektima,
- paralelno razvijati WebGL 2/WebGPU verziju za buduće generacije uređaja.
Šira slika: WebGL 2 kao temelj, WebGL 1 u fazi održavanja
Šira slika za 3D web u 2025. je relativno jasna:
- WebGL ostaje ključ kompatibilnosti, ali se podrazumijeva da govorimo o WebGL 2.
- WebGL 1 ulazi u fazu održavanja – bez novih značajki, s minimalnim sigurnosnim zakrpama i ograničenim interesom zajednice.
- WebGPU preuzima ulogu „next-gen” sloja za projekte kojima su potrebne maksimalne performanse, bolji compute i moderniji API dizajn.
Za developere koji danas započinju novi projekt, praktična preporuka je jasna: tretirajte WebGL 2 kao jedini ciljani WebGL API, uz WebGPU kao opcionalni ubrzani put za napredne efekte i veće scene. Time izbjegavate dvostruko održavanje shader koda, pojednostavljujete rendering pipeline i prirodno se uklapate u smjer u kojem se kreću enginei poput PlayCanvasa, Babylona i Three.js-a.
WebGL 1 neće nestati odmah, ali će sve više živjeti u starim verzijama enginea i specijaliziranim nišama. Ako želite dugoročno održiv 3D web proizvod, 2025. je godina u kojoj WebGL 2 treba postati vaš novi minimum.



