Efficient Parallel Particle Simulation and Rendering for Games

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Sähkötekniikan korkeakoulu | Master's thesis
Ask about the availability of the thesis by sending email to the Aalto University Learning Centre oppimiskeskus@aalto.fi
Date
2015-06-10
Department
Major/Subject
Viestintätekniikka
Mcode
AS3002
Degree programme
AUT - Automaatio- ja systeemitekniikka
Language
en
Pages
7+91
Series
Abstract
Particles are a common method for representing different dynamic visual effects such as smoke and fire in real-time 3D computer graphics applications, especially in games. Given that these applications have strict performance constraints, performance of both the particle simulation engine and the renderer are essential. This master’s thesis presents an efficient implementation of a particle system for use in console or computer games. The main contribution of the thesis is a state-of-the-art tiled particle renderer implementation. The renderer is designed to perform well in the traditional worst-case scenarios for particles, such as smoke effects consisting of several particle layers. This is achieved by rendering particles in front-to-back depth order. In addition, to support a large number of simulated particles, a state-preserving particle simulation engine is implemented entirely on the graphics processing unit. The simulation engine is shown to be extremely efficient. The tiled renderer is demonstrated to limit rendering times in heavy overdraw scenarios while maintaining competitive performance with lighter particle workloads.

Partikkelit ovat yleinen menetelmä dynaamisten efektien, kuten savu- ja tuliefektien esittämiseen reaaliaikaisissa 3D-grafiikan sovelluksissa, erityisesti peleissä. Reaaliaikaisuus asettaa suorituskyvylle tiukat vaatimukset, joten suorituskyky sekä partikkelien simuloinnin että piirtämisen yhteydessä on tärkeää. Tämä diplomityö esittää tehokkaan toteutuksen partikkelien simulointiin ja piirtämiseen konsoli- ja tietokonepelejä varten. Toteutuksessa keskeisintä on uudentyyppinen algoritmi partikkeleiden piirtoon. Piirtoalgoritmi on suunniteltu rajoittamaan piirtoaikoja perinteisesti vaikeimmissa tilanteissa, joissa partikkeleita joudutaan piirtämään kerroksittain suuria määriä. Algoritmi piirtää partikkelit käänteisessä syvyysjärjestyksessä suorituskyvyn parantamiseksi. Jotta partikkeleita voidaan simuloida samanaikaisesti suuri määrä, partikkelien simulointi on toteutuksessa siirretty kokonaan grafiikkasuorittimelle. Tilan säilyttävä simulaatiototeutus osoitetaan erittäin tehokkaaksi ja toteutettu piirtoalgoritmi osoitetaan toimivan nopeasti vaikeissa tilanteissa. Piirtoalgoritmin suorituskyky todetaan kilpailukykyiseksi myös tyypillisemmissä tilanteissa, joissa piirtokuorma on kevyempi.
Description
Supervisor
Lehtinen, Jaakko
Thesis advisor
Kindermann, Roland
Keywords
rendering, real-time, computer graphics, computer games, particles, blending
Other note
Citation