10.08.2013 Views

Terrain Processing on Modern GPU - Computer Graphics Group ...

Terrain Processing on Modern GPU - Computer Graphics Group ...

Terrain Processing on Modern GPU - Computer Graphics Group ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!