Porting a desktop OpenGL application to Android operating system

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.authorParikka, Lasse
dc.contributor.departmentPerustieteiden korkeakoulufi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorSaikkonen, Heikki
dc.date.accessioned2020-12-28T15:01:15Z
dc.date.available2020-12-28T15:01:15Z
dc.date.issued2013
dc.description.abstractMobile devices such as smartphones and tablets have increasingly been equipped with a dedicated graphics processing unit allowing to port desktop 3D Graphics applications to mobile devices. Android is a mobile operating system which supports OpenGL ES API to render 3D Graphics. Graphics applications are commonly written with C/C++ languages, whereas Android provides a Java-Based application environment. Thus, C/C++ languages are only available in Android application through Java Native Interface (JNI). The objective of this thesis was to study the necessary changes in 3D Graphics, user interaction, input handling and sound playing, in order to port a desktop OpenGL application to Android. Implementation details of these changes were determined by porting a desktop OpenGL game GL-117 to Android. Functionality of the game in mobile environment was evaluated by measuring rendering performance with various graphics settings. There are no major differences between desktop and mobile versions of OpenGL library. Hence, OpenGL rendering code can be easily ported to OpenGL ES. More focus is required to implement a user interface, playing sounds and handle transitions between states in Android application lifecycle.en
dc.description.abstractMonet uusimmat mobiililaitteet kuten älypuhelimet ja taulutietokoneet sisältävät erillisen grafiikkasuorittimen, joka mahdollistaa 3D-grafiikkaa näyttävien työpöytäsovelluksien siirtämisen mobiililaitteille. Android on mobiililaitteisiin suunnattu käyttöjärjestelmä, jossa 3D-grafiikkaa voidaan piirtää OpenGL ES -rajapintaa käyttäen. Grafiikkasovelluksissa käytetään paljon C/C++-ohjelmakoodia, jota Androidin Java-pohjaisessa sovellusympäristössä joudutaan kutsumaan Javan natiivirajapinnan (JNI) kautta. Työn tavoitteena oli tutkia 3D-grafiikan piirtämisessä, vuorovaikutteisuuden toteuttamisessa, syötelaitteiden hallinnassa ja äänentoistossa tarvittavia muutoksia siirrettäessä OpenGL-työpöytäsovellusta Android-käyttöjärjestelmälle. Työssä esiteltävät tarvittavat muutokset selvitettiin siirtämällä OpenGL-kirjastoa käyttävä GL-117-toimintapeli Androidille. Pelin toimivuutta mobiiliympäristössä arvioitiin mittaamalla piirtämiseen kuluvaa aikaa erilaisilla grafiikan asetuksilla. Piirtokoodin siirtäminen onnistui ilman suuria muutoksia, silla OpenGL-työpöytä ja -mobiiliversioiden välillä ei ole merkittäviä eroavaisuuksia. Käyttöliittymään ja äänentoistoon liittyvät osuudet sen sijaan vaativat uudelleen toteutusta. Lisäksi sovellukseen tarvittiin Androidin vaatimien tilasiirtymien käsittely, koska Androidissa sovelluksella on useita eri tiloja.fi
dc.format.extentvii + 57
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/100674
dc.identifier.urnURN:NBN:fi:aalto-2020122859505
dc.language.isofien
dc.programme.majorOhjelmistotekniikkafi
dc.programme.mcodeT-106fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordJava Native Interfaceen
dc.subject.keywordAndroidfi
dc.subject.keywordOpenGL ESen
dc.subject.keyword3D-grafiikkafi
dc.subject.keyword3D graphicsen
dc.titlePorting a desktop OpenGL application to Android operating systemen
dc.titleOpenGL-työpöytäsovelluksen siirtäminen Android-käyttöjärjestelmällefi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_10445
local.aalto.idinssi46030
local.aalto.openaccessno

Files