Design and implementation of a 3D rendering engine for a video game production pipeline

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2014
Department
Major/Subject
Vuorovaikutteinen digitaalinen media
Mcode
T-111
Degree programme
Language
en
Pages
58 s.
Series
Abstract
The initial goal of the thesis was to evaluate, select and integrate a 3D rendering engine with Kuuasema's technology base. However, the integration was later found too big a task considering the allocated time and the features needed by Kuuasema. The focus was then changed to identifying and implementing the most essential 3D rendering features for Kuuasema's production pipeline, including scene loading, scene graph and animation. This thesis examines different rendering and game engines. It tries to describe what makes a game engine good. Since this is naturally difficult while game engines have been implemented for very different purposes which also make comparing the game engines difficult, this thesis aims to evaluate the engines through certain criterion, including rendering features supported by the engine, API usability, price, modularity and so on. Since there are numerous features that one can evaluate game engines with, this thesis focuses on certain features that are related to the implementation point of view of the video production pipeline discussed below. Finally, this paper describes some features that a medium rendering engine requires and how they were implemented in Kuuasema's technology base. These features include for instance 3D model loader, scene graph and animation (skinning).

Tämän diplomityön alkuperäisenä tavoitteena oli arvioida, valita ja integroida 3D-rendausmoottori Kuuaseman teknologiaan. Integrointi todettiin kuitenkin myöhemmin liian isoksi tehtäväksi, kun ottaa huomioon työlle varatun ajan sekä ominaisuudet, joita Kuuasema tarvitsi. Pääpaino vaihdettiin myöhemmin oleellisimpien 3D-rendausominaisuuksien selvittämiseksi ja toteuttamiseksi. Näitä ominaisuuksia ovat maiseman lataus, scene graph-tietorakenne ja animaatio. Tässä diplomityössä käsitellään erilaisia rendaus- ja pelimoottoreita ja kuvaillaan, mikä tekee näistä moottoreista hyviä. Tämä on luonnollisesti vaikeaa, sillä pelimoottoreita on tehty hyvin erilaisiin käyttötarkoituksiin. Samasta syystä moottoreiden vertailu ei ole aina mielekästä. Tämän takia tämä tutkimus lähestyy ongelmaa kuvailemalla moottoreita erilaisten arviointikriteerien avulla. Näitä kriteereitä ovat muun muassa moottorin rendausominaisuudet, API-käytettävyys, hinta ja modulaarisuus. Moottoreiden arviointikriteereitä on lukuisia, joten tässä työssä tarkastellaan läheisemmin vain ominaisuuksia, jotka ovat oleellisia alla esitettävän pelimoottorin ongelman toteutuksen kannalta. Lopuksi työssä kuvaillaan jotain ominaisuuksia, joita keskitason rendausmoottorissa tarvitaan. Näitä ominaisuuksia ovat mm. 3D mallin lataaja, scene graph-tietorakenne sekä animaatio (skinning). Työssä kuvaillaan, miten kyseiset ominaisuudet toteutettiin Kuuaseman teknologiaan.
Description
Supervisor
Hämäläinen, Perttu
Thesis advisor
Rytkönen, Kosti
Keywords
rendaus, piirtomoottori, videopeli, 3D, rendering, video game, implementation
Other note
Citation