Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
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