Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Název práce: Zpracování terénu na moderních <strong>GPU</strong><br />
Autor: Roman Margold<br />
Katedra (ústav): Kabinet software a výuky informatiky<br />
Vedoucí diplomové práce: RNDr. Josef Pelikán<br />
e-mail vedoucího: josef.pelikan@mff.cuni.cz<br />
Abstrakt: Prudký vývoj grafického hardwaru umožňuje nacházet stále nové techniky pro<br />
zobrazování terénu. Dříve používané postupy jsou postaveny na silné redukci geometrie prováděné<br />
na CPU. Novější postupy se snaží přenést zátěž na <strong>GPU</strong> a p<strong>on</strong>echat CPU volné pro jiné výpočty, což je<br />
obzvlášť důležité v počítačových hrách. Většina takových postupů je však limitována užitím<br />
statických dat nebo omezenou velikostí dat. Nový postup, jež v této práci navrhujeme, umožňuje<br />
modifikovat data za běhu a je snadno použitelný na zobrazování rozsáhlých krajin. Je celý<br />
implementován na <strong>GPU</strong>, kromě ořezávání pohledovým jehlanem. Ořezávání je stále prováděno na<br />
CPU, ale díky navrženému schématu vzorkování terénu je zcela triviální a vysoce efektivní. Použitá<br />
dvouúrovňová reprezentace dat nabízí poměrně snadné zacházení, a přitom nevylučuje takové<br />
operace jako je náhlá změna zorného úhlu nebo změna směru pohledu pozorovatele, se kterými<br />
mají jiné postupy problémy. Navíc má díky využití blokové komprese nízké paměťové nároky.<br />
Dále byl navržen a implementován univerzální načítací mechanismus pro asynchr<strong>on</strong>ní získávání<br />
dat z externího média. Systém byl optimalizován pro čtení z médií se sériovým přístupem a zároveň<br />
paralelní zpracování násobných požadavků na data. Byl využit pro průběžné načítání dat terénu,<br />
která se nevejdou do operační paměti.<br />
Klíčová slova: Zobrazování terénu. LOD. Neomezená data. Geometry shader. Subdivisi<strong>on</strong> surfaces.<br />
Title: <str<strong>on</strong>g>Terrain</str<strong>on</strong>g> processing <strong>on</strong> modern <strong>GPU</strong><br />
Author: Roman Margold<br />
Department: Department of Software and <strong>Computer</strong> Science Educati<strong>on</strong><br />
Supervisor: RNDr. Josef Pelikán<br />
Supervisor’s e-mail address: josef.pelikan@mff.cuni.cz<br />
Abstract: Recent development in graphics hardware opened the possibility for new terrain<br />
rendering techniques. Former techniques are based <strong>on</strong> rapid geometry reducti<strong>on</strong> performed <strong>on</strong> CPU.<br />
Recent approaches are moving the load from CPU to <strong>GPU</strong>, thus keeping CPU available for other<br />
tasks, which is especially important for game development. A majority of these approaches is<br />
restricted to static datasets or limited data size. We introduce a novel approach which is capable of<br />
modifying data during runtime and is easily applicable to potentially infinite landscapes. It is<br />
implemented entirely <strong>on</strong> <strong>GPU</strong>, except view frustum culling, which is still performed by CPU.<br />
However, thanks to the proposed terrain sampling scheme it is trivial and extremely efficient.<br />
Employed two-level data representati<strong>on</strong> offers simple implementati<strong>on</strong> without loss of functi<strong>on</strong>ality<br />
such as sudden change of visual angle or view directi<strong>on</strong>. Those are comm<strong>on</strong> problems of other<br />
approaches. We also adopted block compressi<strong>on</strong> to keep memory c<strong>on</strong>sumpti<strong>on</strong>s low.<br />
Further, a general loading mechanism has been designed and implemented in order to allow<br />
asynchr<strong>on</strong>ous data read from external medium. This system has been optimized for reading with<br />
serial access, although data demands are processed in parallel. The system has been used for<br />
c<strong>on</strong>tinuous terrain data retrieval and management to handle out-of-core datasets.<br />
Keywords: <str<strong>on</strong>g>Terrain</str<strong>on</strong>g> visualizati<strong>on</strong>. LOD. Out-of-core. Geometry shader. Subdivisi<strong>on</strong> surfaces.<br />
5