Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "WebGL"

Sort by: Order: Results:

  • Toivonen, Kim (2022)
    Browser based 3D applications have become more popular since the introduction of the Web Graphics Library (WebGL). However, they have some unique characteristics, such as the inability to access the local file system and the requirement to be executed in the browser’s scripting environment. These characteristics can introduce performance bottlenecks, and WebGL applications are also vulnerable to the same bottlenecks as traditional 3D applications. In this thesis, we aim to provide guidelines for designing WebGL applications by conducting a background survey and creating a benchmarking platform. Our experiments showed that loading model data from the browser’s execution environment to the GPU has the biggest impact on performance. Therefore, we recommend focusing on minimizing the amount of data that needs to be added to the scene when designing 3D WebGL applications. Additionally, we found that the amount of data rendered affects the severity of performance drops when loading model data to the GPU, and suggest actively managing the scene by only including relevant data in the rendering pipeline.
  • Lonardi, Jarno (2021)
    Tutkimuksessa tutustutaan verkkoselaimen uusiin rajapintoihin ja niiden soveltamiseen pelien kehityksessä. Viimeisten vuosien aikana kaikki suosituimmat selaimet ovat alkaneet tukea uusia HTML5-, WebGL- ja WebAssembly rajapintoja. Nämä rajapinnat mahdollistavat useita tärkeitä asioita peleille kuten laitteistokiihdytetyn 3D-grafiikan esittämisen, suorituskykyisen koodin suorittamisen ja esimerkiksi peliohjaimen tilan lukemisen. Tutkielma on konstruktiivinen ja rajapintojen soveltuvuus koestetaan kahden kokeellisen pelin avulla. Tarkoituksena on yrittää todentaa rajapintojen soveltuvuus pelien kehittämiseen sekä tutkia millaisia työkaluja, esimerkiksi pelimoottoreita, on olemassa. Ensimmäinen peleistä toteutetaan käyttäen ainoastaan selaimen rajapintoja ja toinen käyttäen olemassa olevaa pelimoottoria, joka on rakennettu näiden rajapintojen päälle. Lisäksi työssä yritetään löytää ongelmakohtia, jotka liittyvät selainpelien kehitykseen. Pelkästään selaimen rajapintoja käyttäen on mahdollista toteuttaa suorituskykyisiä 3D-pelejä, mutta etenkin WebAssembly on vielä vahvasti kehityksen alla. WebAssemblyn käyttö on melko hankalaa ja se vaatii ympärilleen työkaluja, jotta sitä voidaan hyödyntää kehitystyössä tehokkaasti. Sen sijaan HTML5- ja WebGL-rajapinnat ovat helposti käytettäviä rajapintoja, joihin löytyy suuri määrä käärekirjastoja, jotka tekevät etenkin WebGL-rajapinnan käytöstä hyvin yksinkertaista. Pelimoottorit ovat alkaneet myös hyödyntää näitä uusia rajapintoja. Esimerkiksi Unitypelimoottori ei vaadi enään erillisen liitännäisen asentamista selaimeen. Unityn ja muiden selainpelimoottorien avulla pystytään hyvin tehokkaasti tuottamaan 3D-pelejä selaimelle. Vaikka nykyisin näyttäviä pelejä voidaan toteuttaa selaimelle, niihin liittyy useita ongelmia. Pelien 3D-mallien suuri koko ja niiden siirtämien verkon yli on hidasta ja kopionsuojaus on hankalaa sillä pelin lähdekoodi pitää aina ladata käyttäjän koneelle. Lisäksi peliä suorittava laitteisto on tuntematon ja sitä ei voida rajata hyvän pelikokemuksen saavuttamiseksi kuten esimerkiksi mobiilipeleissä tehdään