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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

možné využít paralelismu. Toto je místo, kde se dá plně uživit výpočetní výk<strong>on</strong> několika<br />

hardwarových vláken. My jsme do přiložené dem<strong>on</strong>strační aplikace žádnou k<strong>on</strong>krétní práci<br />

Workeru nepřidělili, protože jak mapa reziduí, tak normálová mapa i výšková mapa jsou<br />

uchovány v souboru přesně v tom formátu, v jakém jsou následně čteny grafickou kartou. Ačkoli<br />

je snadné nadefinovat data provider pro normálovou mapu tak, aby zrek<strong>on</strong>struoval normály<br />

terénu za běhu, naznali jsme, že je to k<strong>on</strong>traproduktivní – výsledky nejsou tak kvalitní, jako když<br />

se připraví ve fázi předzpracování, a zatížíme zbytečně systém, který ještě více jádry<br />

nedisp<strong>on</strong>uje.<br />

Počet Worker vláken, která se vytvoří, závisí na nastavení načítacího systému (stejně jako mnohé<br />

další parametry). Je možné toto rozhodnutí p<strong>on</strong>echat také na systému samotném, který<br />

v takovém případě vytvoří o dvě Worker vlákna více, než kolik jich je hardwarově<br />

podporovaných na daném stroji. Pořadí, v jakém jsou požadavky zpracovány, je dáno pořadím,<br />

v jakém jsou načteny Loaderem, který je vkládá do FIFO struktury.<br />

4.6 Měření a výsledky<br />

V tomto odstavci bychom rádi shrnuli praktické výsledky, kterých jsme dosáhli. Nejprve se<br />

podíváme, jak věrně se nám daří reprezentovat vstupní data, a následně provedeme testy<br />

rychlosti pro různé k<strong>on</strong>figurace.<br />

4.6.1 Rek<strong>on</strong>strukce výšek<br />

Použití dvouúrovňové reprezentace společně s blokovou kompresí mapy reziduí šetří velké<br />

množství paměti, ale zároveň vede k informačním ztrátám. Většinou se jedná především o ztrátu<br />

některé vysokofrekvenční informace, ke které dojde při ořezání hodnot reziduí do zvoleného<br />

rozsahu a pak znovu při blokové kompresi. Velikost ztrát, resp. chybovost reprezentace, závisí na<br />

charakteru dat a zvolených parametrech, tzn. například povolený rozsah reziduí nebo rozlišení<br />

výškové mapy nižší úrovně. Není snadné najít parametry, které bychom mohli použít na obecný<br />

terén, proto je třeba při generování mapy reziduí všechny výsledky prověřit. Může se ukázat, že<br />

pro vysokou degradaci detailu dat není vhodné v k<strong>on</strong>krétní situaci naši reprezentaci použít.<br />

Z našich zkušeností však usuzujeme, že pro krajiny, které se ve hrách běžně vyskytují a které jsou<br />

designérem pečlivě upravovány podle potřeb hry, je struktura dobře použitelná. Negativem<br />

může být dlhouý čas potřebný na generování dat, která potřebuje designér vidět ihned po<br />

aplikaci úprav. K těmto potřebám by bylo nutno navrhnout optimalizovaný proces, který by<br />

prováděl aktualizaci reprezentace rychleji, než to dělá náš pomocný nástroj, jenž byl určen<br />

výhradně pro off-line předzpracování dat.<br />

Dále se budeme zajímat o tyto parametry, které nepřímo určují věrnost reprezentace:<br />

1. Rozsah výšek terénu<br />

2. Rozsah hodnot reziduí<br />

3. Rozlišení výškové mapy nižší úrovně<br />

4. Počet bitů na uchování rezidua<br />

5. Počet bitů na uchování hodnot výšky<br />

86

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

Saved successfully!

Ooh no, something went wrong!