Bbabo NET

Znanost & Tehnologija Novice

WebGL 2.0 je končno podprt v vseh večjih brskalnikih

WebGL Water demo posnetek zaslona Evana Wallacea

Konzorcij razvijalcev Khronos Group je objavil, da je tehnologija WebGL 2.0 za upodabljanje interaktivne 2D in 3D grafike brez vtičnikov končno podprta v vseh večjih brskalnikih (preverite).

Specifikacija je podprta v Firefoxu in Chromu od leta 2017. Vendar to ni bilo dovolj za njegovo nebolečo izvedbo. Podpora je bila dodana v Edge leta 2020, pri čemer je Safari 15 za macOS in iOS najnovejša posodobitev. To se je zgodilo po dveh letih intenzivnega dela Apple WebKit inženirjev, ki so izbrali nestandardno, a zelo prijetno pot za odprtokodno skupnost (več o tem spodaj).

Zdaj lahko vsi razvijalci mirne vesti prezrejo nadomestne različice 1.0, kar bo močno poenostavilo spletni grafični ekosistem.

Khronos Group je neprofitni konzorcij več kot 150 razvijalcev na področju 3D grafike, VR/AR, vzporednega programiranja, grafičnih pospeševalnikov in strojnega učenja. Konzorcij ustvarja in promovira grafične standarde, kot so Vulkan, OpenGL, WebGL, SPIR-V, OpenCL, OpenVX, OpenXR, ANARI in glTF.

WebGL 2.0, ki je bil predstavljen leta 2017, je bil pomemben korak naprej v smislu zmogljivosti računalniške grafike. Zagotavljal je nabor funkcij OpenGL ES 3.0. Ključne nove funkcije:

povratna informacija o transformaciji preko objekta TransformFeedback;

takojšnje upodabljanje;

več ciljev upodabljanja;

objekti splošnih enotnih pomnilniških medpomnilnikov - Uniform Buffer Objects (UBO);

zahteve za prekrivanje;

veliko širša podpora teksturam kot izvirni cevovod WebGL 1.0.

Novo specifikacijo 2.0 sta že od začetka podpirala Firefox in Chrome, vendar je trajalo veliko časa, da se je razširila na vse razvijalce WebGL. Že leta so razvijalci morali zagotoviti nadomestno različico WebGL 1.0, da bi pokrili vse priljubljene brskalnike in naprave. Zdaj pa ni. Uvedba WebGL 2.0 v brskalnikih je končana in avtorji aplikacij ga lahko samozavestno uporabljajo, pravi konzorcij Khronos Group.

Resno delo pri implementaciji WebGL 2.0 v Safari se je začelo junija 2019. To je povzročilo številne prijetne stranske učinke za odprtokodno skupnost. Začelo se je z dejstvom, da se je Apple odločil za uporabo brezplačnega motorja ANGLE. Kot rezultat, je njihova inženirska ekipa porabila nešteto ur za izboljšanje ozadja Metal.

Safari zdaj deluje z WebGL nad Metalom na najnovejših napravah iOS in macOS. Ekipi Apple in Google inženirjev sta začeli sodelovati, da bi ANGLE pripeljali v WebKit. Ustvarjajo skupno kodno bazo za nadaljnji razvoj in prevod Chroma tudi v zaledno stran ANGLE Metal.

WebGL Aquarium Demo, (c) Gregg Tavares, Človeški motorji

Ta demonstracija se lahko sinhronizira z več napravami prek WebSockets.

Čeprav je WebGL 2.0 dosegel široko podporo v vseh večjih brskalnikih, bo delo na specifikaciji še naprej izboljševalo združljivost in doslednost.

Prihodnost je WebGPU

Tako je grafični ekosistem postal veliko enostavnejši. Nadaljnji razvoj grafičnih spletnih aplikacij bo v prihodnjih letih zagotovil programske vmesnike WebGPU.

Razvoj API-ja WebGPU aktivno poteka v ustrezni delovni skupini W3C. Zadnji osnutek je izšel 14. januarja 2022, torej pred kratkim. Zdaj je delovni osnutek. Tehnologija brskalnikom omogoča sodobne računalniške grafične zmogljivosti Direct3D 12, Metal in Vulkan.

Popolna uvedba katere koli specifikacije zahteva čas. WebGL 1.0 je izšel marca 2011, podpora v 80 % brskalnikov pa je prišla šele po 3,5 letih. Enako velja tudi zdaj. WebGL 2.0 je dosegel enakih 80 % v enakem času. Pot do WebGL 2.0 in WebGPU se bo nadaljevala tudi potem, ko bo specifikacija WebGPU uradno odobrena.

Medtem se WebGL še naprej razvija. Skupina Khronos je pred kratkim objavila razpoložljivost vsaj enega formata stisnjene teksture (ETC2 ali S3TC) v vseh brskalnikih, pa tudi nove razširitve za več risb, ki močno izboljša zmogljivost upodabljanja z dovajanjem geometrije. Funkcionalnost OES_draw_buffers_indexed omogoča napredne tehnike preglednosti, ki so neodvisne od naročila.

Pravzaprav je WebGL zdaj najbolj razširjena in dostopna 3D grafična platforma na svetu.

Skupina Khronos spodbuja vse razvijalce, da preidejo z WebGL 1.0 na WebGL 2.0 in sodelujejo v spletnih dejavnostih. Obstaja poštni seznam WebGL Dev List in WebGL Chat na The Matrix (#webgl:mozilla.org).

WebGL 2.0 je končno podprt v vseh večjih brskalnikih