OpenGL-työpöytäsovelluksen siirtäminen Android-käyttöjärjestelmälle

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author

Date

2013

Major/Subject

Ohjelmistotekniikka

Mcode

T-106

Degree programme

Language

fi

Pages

vii + 57

Series

Abstract

Mobile 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.

Monet 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.

Description

Supervisor

Saikkonen, Heikki

Keywords

Java Native Interface, Android, OpenGL ES, 3D-grafiikka, 3D graphics

Other note

Citation