Částicový modul pro GPUEngine

Loading...
Thumbnail Image

Date

Authors

Sobol, Jan

Mark

B

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

Abstract

Cílem této práce je implementovat částicový modul, který bude rozšiřovat grafický toolkit GPUEngine. Částicový modul je rozhraní určené k tvorbě částicových systémů. Modul je navržen jako soubor rozšiřitelných tříd, do kterých uživatel doplňuje vlastní implementaci. V práci jsou rozebrány techniky realizace částicových systémů. Do toho spadá způsob uložení dat, ze kterých jsou implementovány techniky Array of Structures a Structure of Arrays. Práce se zabývá rozdíly mezi simulací částicových systémů na CPU a GPU, poskytuje nástroje k jejímu provedení. Výsledkem práce je znovupoužitelná knihovna umožňující tvorbu částicových systémů, určených jak pro typické vizuální použití známé z počítačových her, tak pro účely simulace a procedurálního modelování. Součástí je také demonstrační aplikace s předpřipravenými ukázkami částicových systémů.
The goal of this thesis is to implement a particle module that will be extending the GPUEngine graphic toolkit. Particle module is an interface, used for creating particle systems. The module is designed as a complex of extendable classes, to which an user adds his own implementation. This thesis analyses realization techniques of particle systems. It covers the way of preserving data, from which the techniques Array of Structures and Structure of Arrays are implemented. The thesis deals with differences between particle system simulation from CPU and simulation from GPU, it provides tools for these simulations. The result of this thesis is a reusable library, allowing the creation of particle systems, made not only for typical visual use, known from the computer games, but also for simulations and procedural modeling. Demonstrational app with representative particle systems, prepared in advance, is included too.

Description

Citation

SOBOL, J. Částicový modul pro GPUEngine [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2020.

Document type

Document version

Date of access to the full text

Language of document

cs

Study field

Informační technologie

Comittee

doc. Ing. Peter Chudý, Ph.D., MBA (předseda) doc. RNDr. Pavel Smrž, Ph.D. (místopředseda) doc. Ing. Petr Matoušek, Ph.D., M.A. (člen) Ing. Filip Orság, Ph.D. (člen) doc. Ing. Zdeněk Vašíček, Ph.D. (člen)

Date of acceptance

2020-08-27

Defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: V sekci 4.4.1 je uveden problém: "Když by compute shader prohledával pole částic při několika paralelních spuštěních, nalezl by vždy stejnou nepoužitou částici a tu by se snažil přepsat.". Můžete objasnit? Pokud by každé vlákno mělo přiřazenou jednu částici, jak může dojít ke kolizím?  Proč se podle Vás u synchronizované emise (sekce 4.4.1) "ztrácí výhoda paralelních výpočtů"? Jsou jednotlivé ukázkové scény cíleně rozděleny na GPU a CPU simulace kvůli implementačním problémům, nebo je toto rozdělení náhodné a bylo by možné dané ukázky jednoduše spouštět v obou verzích? Mohl byste zvolit jiný programovací jazyk?

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO