PlayCanvas V2: kraj WebGL 1 renderinga u praksi
PlayCanvas je jedan od najzrelijih WebGL enginea na tržištu. Uvođenjem V2 grane (2.13.x, 2.14.x i novije) donijeli su vrlo jasnu odluku: novi rendering pipeline više ne koristi WebGL 1. Umjesto toga, engine renderira isključivo preko WebGL 2 i, gdje je moguće, preko WebGPU backenda.
V1 grana enginea i dalje postoji. Ona i dalje podržava WebGL 1 i dobiva kritične ispravke bugova i sigurnosne nadogradnje. No, nema novih značajki, nema većih promjena u shaderima i nema novih rendering passova. U dokumentaciji se V1 eksplicitno opisuje kao stabilan, ali ograničen kanal za održavanje postojećih projekata.
To praktično znači da je WebGL 1 u PlayCanvas ekosustavu gurnut u „legacy” zonu. Novi projekti, novi primjeri i nove vizualne tehnike razvijaju se isključivo za V2, s fokusom na WebGL 2 i WebGPU.
Zašto je WebGL 1 postao „legacy” sloj
WebGL 1 je dugo bio standardni put za 3D u pregledniku. No, njegova je arhitektura snažno vezana uz OpenGL ES 2.0, što uvodi ograničenja u pogledu modernih grafičkih tehnika. Nedostaju mu naprednije mogućnosti upravljanja memorijom, formatima tekstura, više render targeta i fleksibilniji shader model.
WebGL 2 donosi značajan iskorak: podršku za multiple render targets (MRT), naprednije teksturne formate, uniform buffer objekte i efikasnije upravljanje pipelineom. To izravno utječe na performanse, FPS stabilnost i frame pacing, ali i na mogućnost implementacije modernih efekata poput naprednog PBR-a, boljeg screen-space post-processinga ili kompleksnih LOD sustava.
PlayCanvas V2 koristi upravo te mogućnosti. Novi rendering passovi, napredniji PBR materijali i gaussian splatting tehnike oslanjaju se na WebGL 2 feature set. U WebGL 1 svijetu iste bi stvari zahtijevale agresivne kompromise, dodatne draw callove ili potpuno drugačije shadere.
Što konkretno dobivate s V2, WebGL 2 i WebGPU
Napredniji PBR i moderni materijali
U V2 grani PlayCanvasa PBR rendering dobiva više pažnje. WebGL 2 omogućuje korištenje kvalitetnijih HDR formata, boljih mipmap lanaca i efikasnijeg IBL (image-based lighting) pipelinea. To se vidi u realističnijim metalic/roughness materijalima, boljem prikazu refleksija i stabilnijem ponašanju u uvjetima niskih FPS-ova.
Za developere to znači manje hackova i manje prilagođavanja shader koda za različite platforme. Jedan shader model može pokriti veći raspon uređaja, uz dosljedniji vizualni rezultat.
Gaussian splatting i kompleksni LOD sustavi
Gaussian splatting, kao tehnika prikaza scena kroz skupove 3D gaussovih volumena, postaje popularan pristup za prikaz skeniranih okruženja i novih vrsta sadržaja. U PlayCanvas V2 takvi primjeri oslanjaju se na WebGL 2 i, u nekim slučajevima, na WebGPU compute mogućnosti.
Razlog je jasan: za gaussian splatting potrebno je puno istovremenih uzoraka, specifične teksturne formate i efikasno upravljanje podacima u GPU memoriji. WebGL 1 bi to mogao odraditi samo uz značajno veći broj draw callova i kompromitiranu kvalitetu slike, što značajno ruši FPS na slabijim uređajima.
Compute primjeri preko WebGPU backenda
PlayCanvas V2 uvodi i primjere koji koriste WebGPU backend za compute zadatke. To otvara prostor za simulacije čestica, fiziku, napredne post-process efekte i generativne algoritme koji rade izravno na GPU-u.
Za sada su ti primjeri više demonstracija budućeg smjera nego obvezni dio svakog projekta. No, činjenica da engine tim ulaže vrijeme u compute pipeline jasno pokazuje kamo ide razvoj: prema API-ju koji nudi veću kontrolu nad GPU resursima od WebGL 1 ili čak WebGL 2.
Utjecaj na kompatibilnost: tko još stvarno treba WebGL 1?
Ključno pitanje za većinu timova nije „je li WebGL 2 bolji”, već „koliko korisnika ću izgubiti ako odustanem od WebGL 1”.
U praksi, svi moderni preglednici već godinama podržavaju WebGL 2: Chrome, Firefox, Edge i Safari na većini desktop i mobilnih platformi. Izuzeci su vrlo stari uređaji, starije verzije Android WebViewa i integrirani preglednici u nekim ugrađenim sustavima ili industrijskim rješenjima.
To znači da je WebGL 1 danas uglavnom potreban u dva slučaja:
- podrška za vrlo stare pametne telefone i tablete
- specijalizirana okruženja (embedded preglednici, kiosk sustavi, stariji infotainment sustavi)
Ako vaša analitika pokazuje da većina prometa dolazi s modernih preglednika i novijih OS verzija, prelazak na PlayCanvas V2 i WebGL 2 obično ne donosi dramatičan pad kompatibilnosti. U mnogim slučajevima, razlika u publici je unutar nekoliko postotnih bodova.
Strategije za timove: ostati na V1 ili migrirati na V2?
1. Inventura ciljnih platformi
Prvi praktični korak je inventura: koje uređaje i preglednike realno ciljate. To znači detaljna analiza analitike (User-Agent, OS verzije, GPU modeli) i provjera udjela uređaja koji podržavaju WebGL 2.
Ako, primjerice, 95 % prometa dolazi s uređaja koji već podržavaju WebGL 2, a 5 % je na starim Androidima ili integriranim preglednicima, odluka je često jasna: V2 postaje glavni smjer, dok se za preostalih 5 % traži alternativno rješenje (light verzija, fallback 2D prikaz ili zaseban legacy projekt).
2. Procjena budućih značajki
Drugi korak je analiza roadmapa. Ako vaš projekt traži moderne vizualne efekte, napredan PBR, kvalitetne post-process pipelineove ili eksperimentiranje s gaussian splattingom i computeom, ostanak na V1 i WebGL 1 znači svjesno odricanje od tih mogućnosti.
U PlayCanvas V1 nećete dobiti nove shader primjere, nove rendering passove ni optimizacije koje ciljaju WebGPU. Svaka nova generacija primjera i templatea bit će pisana za V2 i WebGL 2, što dugoročno povećava jaz između onoga što engine može i onoga što vaš projekt koristi.
3. Planiranje migracije postojećih projekata
Za projekte koji već rade na V1, odluka nije jednostavna. Migracija na V2 može uključivati:
- prilagodbu shader koda i materijala
- provjeru kompatibilnosti custom skripti s novim API-jem
- testiranje performansi na ključnim uređajima i preglednicima
U mnogim slučajevima migracija se isplati planirati u trenutku većeg redizajna ili dodavanja novih značajki. Tada je prirodno refaktorirati rendering pipeline, zamijeniti stare materijale novim PBR modelima i iskoristiti WebGL 2 mogućnosti za smanjenje broja draw callova ili bolji frame pacing.
Širi trend: WebGL 1 kao nužno zlo, WebGL 2 i WebGPU kao smjer razvoja
Odluka PlayCanvas tima nije izoliran slučaj. Sličan trend vidljiv je i u drugim engineima i bibliotekama: Three.js se agresivno optimizira za WebGL 2, Babylon.js ulaže u WebGPU backend, a novi eksperimenti u 3D webu gotovo u pravilu kreću od pretpostavke da je WebGL 2 baseline.
WebGL 1 neće nestati preko noći. Bit će prisutan još godinama kao sloj za održavanje postojećih implementacija, pogotovo u enterprise i embedded svijetu. No, inovacije, novi rendering passovi, optimizacije za moderne GPU-ove i eksperimenti s computeom sele se u WebGL 2 i WebGPU zonu.
Za developere to znači da WebGL 1 treba promatrati kao „minimalni kompatibilni sloj”, a ne kao platformu na kojoj se gradi budućnost 3D weba. Ako danas započinjete novi projekt, realno pitanje nije „trebam li WebGL 1”, već „kako mogu iskoristiti WebGL 2 i WebGPU, a istovremeno imati prihvatljiv fallback za manji broj starijih uređaja”.
Zaključak: PlayCanvas V2 kao signal promjene generacije
PlayCanvas V2, s fokusom na WebGL 2 i WebGPU, praktično označava promjenu generacije u web 3D engineima. WebGL 1 ostaje prisutan, ali u ulozi legacy sloja za postojeće projekte i specijalizirana okruženja.
Za većinu novih projekata, osobito onih koji ciljaju široku publiku na modernim preglednicima, prelazak na V2 i WebGL 2 donosi više koristi nego rizika. Dobivate pristup novim PBR mogućnostima, gaussian splatting tehnikama, compute eksperimentima i budućim optimizacijama enginea, uz minimalan gubitak kompatibilnosti.
Poruka industrije je jasna: vrijeme je da se WebGL 1 počne tretirati kao podržani, ali zastarjeli sloj. Glavni fokus razvoja, performansi i vizualnih inovacija seli se na WebGL 2 i WebGPU, a PlayCanvas V2 je konkretan, vidljiv primjer tog zaokreta.



