Splet v treh razsežnostih

Objavljeno: 26.11.2013 | Avtor: Ciril Bohak | Kategorija: Dosje | Revija: December 2013 | Teme: splet, 3d

Splet je od svojih začetkov ob nastopu 90. let kar nekajkrat korenito spremenil podobo. Če je bil sprva bolj ali manj skupek med seboj povezanih besedil, je v 90. doživel korenito preobrazbo s slikami, pozneje pa tudi z animacijami in video vsebinami. Že kmalu po splavitvi svetovnega spleta so se pojavili tudi poskusi, kako bi ga razširili v tretjo dimenzijo.

Tri razsežnosti so poskušali v splet vplesti različno. Ker brskalniki niso podpirali strojno pospešenega prikaza 3D vsebin, so se posamezne rešitve zanašale na vlogo vtičnikov, ki so na obstoječo spletno stran uvrstili 3D vsebine prek nekakšnega okna. Največjo razširjenost so doživeli javanski programčki, ki so omogočali poganjanje javanskih aplikacij, tudi takih v treh dimenzijah, znotraj prikazane spletne strani. Seveda so bili tudi drugi poskusi, večinoma namenjeni še nedavno najbolj priljubljenemu brskalniku Internet Explorerju, ki so uporabljali vtičnike, razvite ob pomoči ogrodja ActiveX. S tem je bilo njihovo delovanje omejeno zgolj na eno samo družino brskalnikov, kar je bila njihova občutna pomanjkljivost v primerjavi z javanskimi programčki. Nekoliko kasneje se je v bitko podal tudi Adobe s svojo tehnologijo Flash.

Zgodovina

Zamisel o vpeljavi tretje razsežnosti v svetovni splet je stara skoraj toliko kot sam svetovni splet. Ovir, ki so preprečevale širšo uveljavitev zamisli, je bilo več. Prvo je predstavljala strojna oprema za prikaz interaktivne 3D grafike, ki je bila še v povojih, kaj šele, da bi bila podpora zajeta v spletne brskalnike. Druga prav tako huda ovira pa je bila prenosna hitrost. Prenos prek takratnih povezav je bil res počasen in že prenašanje navadnih spletnih strani ni bilo ravno hitro, če bi pri tem še povečali potrebno količino prenesenih podatkov, pa nikakor ne bi mogli pričakovati interaktivnosti na želeni ravni. Prvi poskusi uvrstitve 3D interaktivnih vsebin v splet so bili že v 90. letih.

Med bolj priljubljenimi je bila v brskalnike vgrajena podpora prikazu vektorskih 3D prizorov, definiranih v formatu VRML (angl. Virtual Reality Modeling Language). VRML so že zasnovali z mislijo na svetovni splet. Namenjen je bil opisu virtualnih 3D predmetov in prizorov. Definicija formata VRML je sprožila tudi formiranje konzorcija Web3D. Konzorcij so ustanovili pobudniki iz industrije, njegov namen pa je definirati in razviti odprt standard formata in okolja za predstavitev 3D okolja v okviru običajnih spletnih strani. Eden izmed rezultatov konzorcija je tudi format X3D, ki je naslednik formata VRML in omogoča veliko več kot sam VRML.

VRML

VRML

Dobro definiran 3D zapis, kot ga predstavlja X3D, je podlaga tudi za izvedbo samega prikaznega okolja. Delo konzorcija je zadnja leta dosti bolj usmerjeno prav na to problematiko. Vse do leta 2006 je bilo mogoče 3D predmete in svetove znotraj brskalnika prikazovati in z njimi interaktirati zgolj prek vtičnikov. V tem obdobju sta bila med najbolj priljubljenimi vtičnika za prikaz 3D vsebin Adobe Shockwave in javanski Appleti. V teh dveh okoljih je bilo razvitih daleč največ 3D interaktivnih aplikacij in iger, ki pa so za svoje delovanje nujno potrebovale naložene vtičnike. Če smo na takšno vsebino naleteli v računalniku, v katerega vtičniki niso bili nameščeni, nikakor nismo mogli do vsebin. Dodatna slabost takšne rešitve je otežena interakcija s preostalo vsebino strani, ki je zunaj okna vtičnika. Tako nepoenoten je pristop večinoma še danes, ko se je poleg omenjenih pojavilo še kar nekaj drugih vtičnikov, namenjenih prikazu 3D vsebin znotraj običajnih spletnih strani. Med bolj znanimi so večinoma vtičniki za igranje iger, kot so: Adobe Shockwave, Unity, Burster in drugi.

Interaktivni človeški anatomski atlas

Interaktivni človeški anatomski atlas

Že leta 2006 so v Mozillinih laboratorijih začeli preizkušati možnost prototipnega 3D platna za interaktivni prikaz 3D grafike znotraj same spletne strani, imenovanega Canvas 3D. Leta 2007 sta Mozilla in Opera v svoja brskalnika uvrstila vsak svojo podporo prikazu 3D grafike, ki pa je seveda omejena samo na omenjena brskalnika. Vsega dve leti zatem, leta 2009, se je znotraj znanega konzorcija Khronus Group oblikovala interesna skupina za definicijo standarda WebGL (www.khronos.org/webgl), namenjenega domorodni podpori prikaza 3D grafičnih elementov na spletnih straneh.

Chrome Experiments

Chrome Experiments

WebGL

V Monitorju smo že kar nekajkrat omenjali standard OpenGL, ki hkrati definira tudi vmesnik med aplikacijami in grafično strojno opremo. Prav konzorcij Khronos Group, ki skrbi za vzdrževanje standarda OpenGL, je ustanovil tudi skupino za oblikovanje WebGLa. Prva uradna različica standarda WebGL 1.0 skupaj s specifikacijami je bila predstavljena marca 2011. Uporabnike so razvijalci kmalu pritegnili s prototipnimi aplikacijami, ki so splet prikazale v povsem novi luči. Ena takih aplikacij je Zygote Body (zygotebody.com), ki je v splet pripeljala preprosto izvedbo anatomskega atlasa. Razvoj standarda WebGL temelji na standardu OpenGL 3.0+, kar daje sodobno podlago razvoju 3D aplikacij.

Sam razvoj aplikacij za WebGL poteka v jeziku javascript, ki je s spletom nerazdružno povezan. Sprva je bila podpora v brskalnikih zelo omejena, saj niso podpirali rabe najrazličnejše grafične strojne opreme. Kot vzpodbudo razvijalcem so v podjetju Google vzpostavili dveri, Chrome Experiments (www.chromeexperiments.com/webgl), za zbiranje demonstracijskih aplikacij za prikaz implementiranih funkcionalnosti. Zglede v zbirko prispevajo zanesenjaki z vsega sveta, koda pa je večinoma pod odprto licenco in s tem na razpolago za nadaljnjo rabo pri razvoju lastnih aplikacij.

Google maps s podporo WebGLu

Google maps s podporo WebGLu

V zadnjem času se podpora WebGLu vse bolj širi. Zelo pomembno je, da se je podpora razširila tudi na mobilne platforme, s čimer se je doseg uporabnikov še povečal. Še dodaten razlog za povečan doseg aplikacij, razvitih v WebGLu, so mobilne aplikacije, razvite v okoljih za prenosljivost med posameznimi mobilnimi platformami (na primer Adobe PhoneGap). Razvoj takih aplikacij poteka v spletnih tehnologijah, kamor seveda sodi tudi WebGL.

Google Maps

Pred kratkim so v podjetju Google podporo WebGL vgradili tudi v njihove spletne zemljevide (maps.google.com). Na različico, ki uporablja WebGL, lahko preklopimo na osnovni strani. Večja sprememba za povprečnega uporabnika bo predvsem to, da se zemljevidi po novem nalagajo nekoliko dlje. Povsem spremenjen je tudi uporabniški vmesnik. Malce večja sprememba je, da se pri premikanju zemljevida posamezni kosi nalagajo bolj zvezno. Pozornejši uporabniki bodo hitro zajadrali v predele sveta, kjer že iz aplikacije Google Earth vemo, da jim je na voljo tudi 3D teren in 3D posnetki zgradb (večinoma ZDA). Tu hitro opazimo, da lahko zemljevide tudi nekoliko nagnemo in jih gledamo pod kotom, če pa vklopimo še prikaz satelitskih posnetkov, zagledamo rekonstruirane 3D modele objektov. Prav tako je preklop v način »Street View« zdaj dosti bolj gladek, saj se tudi tu za prikaz ne uporablja več vtičnik Flash Player.

Galaksija

Zelo zanimiv zgled, ki prikaže moč WebGLa, je zgled prikaza 100 000 zvezd naše galaksije. Seveda je to le delček zvezd v naši galaksiji. Interaktivni eksperiment nam omogoča, da se »sprehodimo« z velikostnega reda galaksije, kjer vidimo posamezne roke galaksije, vse do našega osončja, kjer vidimo tirnice, po katerih krožijo planeti, vse do sonca. Eksperiment prikazuje zmogljivost izrisovalnega sistema. Hitrost izrisa pa je seveda najbolj odvisna od grafične kartice, ki jo uporabljamo.

Prikaz kopice zvezd s 100 000 zvezdami

Prikaz kopice zvezd s 100 000 zvezdami

Interaktivne 3D pravljice

Večina interaktivnih pravljic je dandanes razvitih v obliki mobilnih aplikacij, namenjenih tabličnim računalnikom. Zgled takšne pravljice v spletu, kjer lahko posameznik sam odloča, kaj se bo v svetu zgodilo, je pravljica »Najdi svojo pot v Oz« (www.findyourwaytooz.com). Izdelana je s pomočjo tehnologije WebGL in ponuja zanimiv vpogled v svet interaktivnih pravljic, ki lahko domujejo v svetovnem spletu.

Find your own way to Oz

Find your own way to Oz

Igre

WebGL je vsekakor zelo pomemben korak pri razvoju spletnih iger. Do prihoda WebGLa za igranje 3D iger znotraj brskalnika smo nujno potrebovali dodatke ali vtičnike, zdaj pa so že na voljo tudi igre, ki vtičnikov ne potrebujejo več. Nekaj zgledov takih iger, ki zajemajo tako pustolovske kot strelske igre in, ne nazadnje, tudi masivne spletne večigralske igre (MMO), je predstavljenih v slikah. Še ne dolgo nazaj so z ustrezno zasnovo programske kode v javascript prenesli igračkarski pogon Unreal Engine 3, ki omogoča realistični prikaz grafike znotraj brskalnika. Prihodnost iger, razvitih za tehnologijo WebGL, je vsekakor obetavna.

Izvajanje 3D pospešenih iger znotraj brskalnika je še vedno zahtevnejše kot izvajanje namenskih aplikacij, vsekakor pa razvoj brskalnikov sili v smer optimizacije in pohitritve izvajanja programske kode znotraj brskalnika. Zavedati se namreč moramo, da se programski jezik javascript še vedno interpretira in se ne izvaja v domorodni kodi, zato se aplikacije zaradi dodatne stopnje virtualizacije izvajajo počasneje.

Epic Citadel - Unreal Engine 3

Epic Citadel - Unreal Engine 3

Kam naprej?

Poznamo še veliko neraziskanih možnosti rabe interaktivne 3D grafike v spletu. Doslej so se le redki trgovci spopadli z boljšo predstavitvijo izdelkov, pričakovati pa je, da bodo postopoma nadgradili uporabniško izkušnjo svojih spletnih trgovin. Nekatere prodajalne že ponujajo 3D vpogled v izdelke, kot so na primer avtomobili in pohištvo, večina pa svojo izkušnjo še vedno utemeljuje na fotografijah. Kupci bodo v prihodnosti vsekakor želeli, da bi si izdelek, preden bi ga kupili, ogledali in morebiti celo umestili v prostor, kjer bo v rabi. Ena ključnih stvari tu je prav želja velikih trgovcev, da bi bili neodvisni od raznih vtičnikov in razširitev spletnih brskalnikov, kar WebGL omogoča.

Ena izmed slabosti je povečanje prenosa podatkov, saj so praviloma 3D vsebine obsežnejše od dvodimenzionalnih, to pa pri počasnejših povezavah posledično pomeni daljše nalagalne čase. Dejstvo je, da se z razvojem novih tehnologij povečujejo tudi prenosne hitrosti, kar obeta svetlo prihodnost tudi v tem pogledu.

Pa razvoj?

Razvoj običajnih spletnih strani je dandanes že tako preprost, da si dodatni zaslužek s tem ustvarjajo že osnovno- in srednješolci, razvoj 3D aplikacij za WebGL pa je še vedno dosti bolj zapleten. Na razpolago je sicer že kar nekaj pripomočkov in ogrodij, ki razvoj takih aplikacij olajšajo veščim programerjem, še vedno pa je to le prevelik zalogaj za vsakogar. Seznam ogrodij in okolij za pomoč pri razvijanju aplikacij WebGL se hitro daljša, le redka so ogrodja, ki so dejansko uporabna tudi v praksi. Nekaj takih je: Tree.js, X3DOM, Oak3D in druga.

Vsaj v bližnji prihodnosti še ni pričakovati, da bi orodja za razvoj 3D spletnih vsebin postala tako preprosta, da bi jih lahko uporabljal vsakdo. Vsekakor pa je pričakovati, da se bo tudi razvoj podpornih orodij v prihodnosti nadaljeval in bodo prej ali slej na trgu tudi orodja, ki bodo omogočala izdelavo preprostih 3D spletnih vsebin tudi manj veščim uporabnikom, ki nimajo podlage v razvijanju 3D aplikacij.

Do vpeljave nove razsežnosti v spletne tehnologije je od prvih zamisli v devetdesetih do dejanske izvedbe v sodobnih brskalnikih preteklo kar precej časa. Prihodnost vpletanja 3D interaktivne grafike v splet je vsekakor svetla. Tehnologije počasi dozorevajo, nastajajo pa tudi potrebna orodja za pomoč pri razvoju. Oblikovalci in izdelovalci spletnih strani vseskozi odkrivajo nove možnosti uporabe in možnosti kombiniranja 3D vsebin z zdajšnjimi. Vsekakor bo prehodno obdobje trajalo še kar nekaj časa, dokler se zdajšnje in prihajajoče tehnologije ne bodo zlile v obliko, ki bo ustrezala tudi končnim uporabnikom.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!
Prijava

ph

Komentirajo lahko le prijavljeni uporabniki