-
Notifications
You must be signed in to change notification settings - Fork 0
/
kandi_teksti_sovellukset.tex
14 lines (8 loc) · 3.24 KB
/
kandi_teksti_sovellukset.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
\section{WebGL-rajapinnan nykytilanne}
\label{sec:sovelluksia}
\mbox{WebGL-rajapinnalla} on toteutettu monia erilaisia projekteja. Jimenez tutkimusryhmineen\cite{biomed} sekä Mobeen ja Feng\cite{volumerendering} ovat toteuttaneet kolmiuloitteisen tiedon visualisointimenetelmiä. Kyseiset toteutukset mahdollistavat kolmiuloitteisten mallien tutkimisen selaimessa, erityisesti lääketieteellisissä tutkimuksissa käytettäviä malleja. Näin lääkärit voivat tutkia esimerkiksi magneettikuvantamisessa tuotettuja malleja potilaan aivoista.
WebGL-rajapinnalla on myös tehty tuotteiden esikatseluun tarkoitettuja sovelluksia. Esimerkiksi \cite{3dcar} on autojen esikatselua varten tarkoitettu sovellus. Priyopradono ja Perdana\cite{housepreview} ovat tehneet asuntojen virtuaalista esikatselua varten tarkoitetun sovelluksen. Vaikka kummatkaan sovellukset eivät ole kaupallisessa käytössä ne esimerkillistävät WebGL-rajapinnan mahdollisuuksia.
Tämän työn kannalta kiinnostavimmat sovellukset ovat kuitenkin WebGL-rajapinnalla tehdyt pelit, joita on monia\cite{webglgames}. Tunnetuimpia lienee Google:n itse teettämä WebGL-versio Quake 2-pelistä\cite{quakewebgl}. Pelin iästä huolimatta kyseessä on pelikokemus joka vaatii nopeaa ja tasaista grafiikan piirtoa, joten pelin toteuttaminen ilman näytönohjainta ei luultavasti olisi mahdollista suurimmassa osassa nykyisiä tietokoneita.
Kuitenkaan WebGL-versioiden tekeminen peleistä ei vaikuta olevan suuressa suosiossa. Aiheesta ei löydy kirjallisuutta, mutta WebGL.com-sivuston katsotuimpien projektien listasta\cite{webglgames} voi vetää jonkinlaisia johtopäätöksiä: viiden katsotuimman projektin joukossa on yksi peli, joka on Unreal Engine 3-pelimoottorin esittelyyn tarkoitettu demo\cite{epicwebgl}: loput ovat jollain muulla tapaa WebGL-rajapintaa käyttäviä projekteja.
Syitä epäsuosiolle saattaa olla monia, mutta tärkein saattaa olla rajapinnan nuoruus. Ensinnäkin teknologiaa ei ole välttämättä saatu toimimaan kunnolla kaikissa selaimissa: eroavaisuuksista selainten välillä keskustellaan enemmän kappaleessa \ref{sec_platforms}. Erot saattavat antaa vaikutelman, että teknologia ei vielä ole täysin valmis. Suurempi syy saattaa kuitenkin olla, että WebGL ei sovellu mihinkään olemassaolevaan toimintatapaan. WebGL-rajapinta on sinänsä kuin Canvas 2D Context: se mahdollistaa grafiikan piirtämisen selaimessa.
WebGL-pelit vaikuttavat kuitenkin olevan työläämpiä tuottaa kuin Canvas 2D Context-rajapinnalla. Näin ollen ilmaisten WebGL-pelien tekeminen ei välttämättä ole järkevää. Kuitenkin useimmat selainpelit ovat maksuttomia, eivätkä ihmiset välttämättä ole tähän mennessä halunneet maksaa. WebGL-koodin monimutkaisuus saattaa myös muodostaa kynnyksen jonka ylittäminen ei ole kokeellisten tai taiteellisten pelien kehittäjille mielekästä. Suuremmat firmat taas perustavat toimintamallinsa pitkälti tuotteistamiseen, jossa yksi peli myydään yhdelle ostajalle. WebGL-rajapinnan toiminnallisuus tekee tällaisen mahdottomaksi, sillä pelin lähdekoodi on pakko jakaa avoimesti sillä verkkosivulla jolla peliä pelataan. Uudet toimintamallit saattavat toimia paremmin WebGL-peleille, mutta yllä mainitut syyt voivat selittää WebGL-rajapinnan nykyisen epäsuosion.