Efektivní algoritmy s využitím kd-stromů pro vrhání paprsků na GPU
Efficient ray tracing algorithms exploiting kd-trees on a GPU
Typ dokumentu
diplomová prácemaster thesis
Autor
Robert Papay
Vedoucí práce
Havran Vlastimil
Oponent práce
Bittner Jiří
Studijní obor
Počítačová grafikaStudijní program
Otevřená informatikaInstituce přidělující hodnost
katedra počítačové grafiky a interakcePráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato práce se zaměřuje na paralelní algoritmy pro stavbu a procházení k-d stromů za účelem zrychlení algoritmu sledování paprsku, převážně pro dynamické scény. Práce poskytuje úvod do k-d stromů a do architektury grafických karet. Dále poskytuje přehled a analýzu existujících řešení pro paralelní stavbu k-d stromů, pro stavbu k-d stromů pro dynamické scény, a pro procházení k-d stromů na grafické kartě. Je navrhnut a implementován framework podobající se hernímu enginu, aby poskytl základ na implementaci algoritmů souvisejících s algoritmem sledováním paprsků. Je představen návrh a popis implementace algoritmu stavby na grafické kartě využívající binning a frontu úloh, s podrobným popisem všech kroků. Je také představen návrh algoritmů na vkládání k-d stromů na CPU a GPU. Celkem je implementováno devět algoritmů: dva jednovláknové algoritmy stavby na CPU, používající přesný a přibližný výběr dělící roviny, jeden algoritmus stavby na GPU používající binning, jeden algoritmus na CPU pro vkládání k-d stromů, a čtyři algoritmy na procházení k-d stromů určené pro grafické karty spolu s tradičním algoritmem na procházení založeným na zásobníku. Implementované algoritmy jsou otestovány na deseti statických a pěti dynamických scénách. Výsledky jsou prezentovány v tabulkách pro každou scénu. This work focuses on parallel algorithms for building and traversing k-d trees to accelerate ray tracing, mainly for dynamic scenes. It provides an introduction to k-d trees as well as GPU architectures. It also provides an overview and analysis of existing solutions for building k-d trees in parallel, for building k-d trees for dynamic scenes, and for traversing k-d trees on the GPU. A game engine-like framework is designed and implemented to provide a basis for implementing the ray tracing related algorithms. An algorithm design and implementation for building k-d trees on the GPU using binning and exploiting a task pool is presented, with detailed description of all its steps. An algorithm design for merging k-d trees on the CPU and GPU is also presented. Nine algorithms are implemented in total: two CPU single-threaded k-d tree building algorithms using exact and approximate split selection, one GPU k-d tree building algorithm using binning, one CPU k-d tree merging algorithm and four traversal algorithms designed for the GPU, in addition to the traditional stack-based traversal algorithm. The implemented algorithms are tested on ten static and five dynamic scenes, with tables for each scene presenting the final results.
Kolekce
- Diplomové práce - 13139 [419]