Autor se v této práci věnuje problematice vylepšení klíčových částí aplikace Aurora. Tato aplikace se zaměřuje na simulaci a vizualizaci pohybu těles v planetárních systémech. Tyto systémy jsou založeny buď na reálných datech či procedurálně vygenerované. Práce je rozdělena na 3 části.
První část se týká vizualizace rozsáhlých prostor v rozdílných měřítkách. Rovněž popisuje postup, který umožňuje vizualizaci statisíců objektů v jedné scéně a náležité operace s nimi.
Druhá část práce se týká simulační stránky, konkrétně implementace problému n těles. Tento problém řeší pomocí numerické simulace. Výpočet realizuje skrz masivní paralelizmus na GPU pomocí OpenCL API. Pro tento výpočet autor realizuje klient-server architekturu, která umožňuje kompletní oddělení simulační a vizualizační stránky aplikace. Rovněž s touto implementací odpadá potřeba konkrétního hardwaru a výpočetního výkonu na klientské straně.
Třetí část práce se týká problematiky tvorby rozdílně vypadajících těles. V této části autor popisuje, jakým způsobem lze docílit náhodně vypadajících povrchů těles pomocí Perlinova šumu a rovněž popisuje nutné modifikace stávající verze aplikace Aurora, které předcházely implementaci této problematiky.
Anotace v angličtině
Author of this thesis is focused at improving critical parts of Aurora application, which is focused on authentic simulation and visualization of bodies within different planetary systems. These systems can be based on real data or procedurally generated. This thesis is focused on three main topics.
First part is focused on visualization of large areas within different scale modes. It also describes procedures, which allows visulization of hundreds of thousands objects within one scene and following operations with them.
Second part is focused on simulation part, where author describes the implementation of n body problem using numerical simulation. Calculations are made with massive paralelism using GPU and OpenCL API. For this problem, author implements client-server architecture, which allows complete separation of simulation and visualization. It also removes the need of specific hardware and computation power to be present at client side.
Third part of this thesis is focused on creating bodies with different looking surface. In this part, author describes the use of Perlin noise to achieve such task and also describes followup changes to the application in order to support such algorithms.
Klíčová slova
simulace, vizualizace, planetární systémy, unity, výpočet pomocí gpgpu
Klíčová slova v angličtině
simulation, visualization, planetary systems, unity, calculations using gpgpu
Rozsah průvodní práce
52
Jazyk
CZ
Anotace
Autor se v této práci věnuje problematice vylepšení klíčových částí aplikace Aurora. Tato aplikace se zaměřuje na simulaci a vizualizaci pohybu těles v planetárních systémech. Tyto systémy jsou založeny buď na reálných datech či procedurálně vygenerované. Práce je rozdělena na 3 části.
První část se týká vizualizace rozsáhlých prostor v rozdílných měřítkách. Rovněž popisuje postup, který umožňuje vizualizaci statisíců objektů v jedné scéně a náležité operace s nimi.
Druhá část práce se týká simulační stránky, konkrétně implementace problému n těles. Tento problém řeší pomocí numerické simulace. Výpočet realizuje skrz masivní paralelizmus na GPU pomocí OpenCL API. Pro tento výpočet autor realizuje klient-server architekturu, která umožňuje kompletní oddělení simulační a vizualizační stránky aplikace. Rovněž s touto implementací odpadá potřeba konkrétního hardwaru a výpočetního výkonu na klientské straně.
Třetí část práce se týká problematiky tvorby rozdílně vypadajících těles. V této části autor popisuje, jakým způsobem lze docílit náhodně vypadajících povrchů těles pomocí Perlinova šumu a rovněž popisuje nutné modifikace stávající verze aplikace Aurora, které předcházely implementaci této problematiky.
Anotace v angličtině
Author of this thesis is focused at improving critical parts of Aurora application, which is focused on authentic simulation and visualization of bodies within different planetary systems. These systems can be based on real data or procedurally generated. This thesis is focused on three main topics.
First part is focused on visualization of large areas within different scale modes. It also describes procedures, which allows visulization of hundreds of thousands objects within one scene and following operations with them.
Second part is focused on simulation part, where author describes the implementation of n body problem using numerical simulation. Calculations are made with massive paralelism using GPU and OpenCL API. For this problem, author implements client-server architecture, which allows complete separation of simulation and visualization. It also removes the need of specific hardware and computation power to be present at client side.
Third part of this thesis is focused on creating bodies with different looking surface. In this part, author describes the use of Perlin noise to achieve such task and also describes followup changes to the application in order to support such algorithms.
Klíčová slova
simulace, vizualizace, planetární systémy, unity, výpočet pomocí gpgpu
Klíčová slova v angličtině
simulation, visualization, planetary systems, unity, calculations using gpgpu
Zásady pro vypracování
Navrhněte a realizujte změny v celkovém vykreslování rozsáhlých lokací planetárních systémů (využití metody floating point origin). Rovněž se zaměřte na pozice jednotlivých planetárních systémů (ať už reálných, uživatelsky definovaných či náhodných) v rámci jejich širšího okolí a zdůrazněte velikost prostoru, ve kterém se nachází.
Stávající verze aplikace umožňuje simulovat pohyb jednotlivých těles v planetárních systémech pomocí analytického řešení 2 těles. Navrhněte a realizujte algoritmus, který obohatí simulační schopnosti aplikace o numerické řešení problému n těles, jehož výpočet bude realizován skrz GPGPU.
Ve stávající verzi aplikace se nachází větší databáze textur, která se stará o různorodost povrchů na tělesech (planety, měsíce,..). Navrhněte a realizujte algoritmus, který bude generovat rozdílné povrchy (2D, pouze na texturové úrovni) na vhodných tělesech s cílem zmenšit šanci na nalezení stejně vypadajících objektů na minimum.
Zásady pro vypracování
Navrhněte a realizujte změny v celkovém vykreslování rozsáhlých lokací planetárních systémů (využití metody floating point origin). Rovněž se zaměřte na pozice jednotlivých planetárních systémů (ať už reálných, uživatelsky definovaných či náhodných) v rámci jejich širšího okolí a zdůrazněte velikost prostoru, ve kterém se nachází.
Stávající verze aplikace umožňuje simulovat pohyb jednotlivých těles v planetárních systémech pomocí analytického řešení 2 těles. Navrhněte a realizujte algoritmus, který obohatí simulační schopnosti aplikace o numerické řešení problému n těles, jehož výpočet bude realizován skrz GPGPU.
Ve stávající verzi aplikace se nachází větší databáze textur, která se stará o různorodost povrchů na tělesech (planety, měsíce,..). Navrhněte a realizujte algoritmus, který bude generovat rozdílné povrchy (2D, pouze na texturové úrovni) na vhodných tělesech s cílem zmenšit šanci na nalezení stejně vypadajících objektů na minimum.
Seznam doporučené literatury
\renewcommand{\labelenumi}{[\arabic{enumi}]}
Thorne, C.: Using a floating origin to improve fidelity and performance of large, distributed virtual worlds, IEEE Computer Society Press, ISBN 0-7695-2378-1
Wilt, N.: The CUDA Handbook: A Comprehensive Guide to GPU Programming, ISBN 0-321-8094-67
Nguyen, H.: GPU Gems 3, Addison-Wesley Professional, ISBN 0-3215-1526-9
Seznam doporučené literatury
\renewcommand{\labelenumi}{[\arabic{enumi}]}
Thorne, C.: Using a floating origin to improve fidelity and performance of large, distributed virtual worlds, IEEE Computer Society Press, ISBN 0-7695-2378-1
Wilt, N.: The CUDA Handbook: A Comprehensive Guide to GPU Programming, ISBN 0-321-8094-67
Nguyen, H.: GPU Gems 3, Addison-Wesley Professional, ISBN 0-3215-1526-9
Přílohy volně vložené
1 DVD
Přílohy vázané v práci
ilustrace, schémata
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Průběh obhajoby je zveřejněn pouze přihlášenému uživateli.