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.

Zamýšleli jsme se nad implementační složitostí, která pro takový systém může být vysoká.<br />

Souvisí to s tím, jak jsou data členěna, aby bylo možné definovat požadavek na jejich zajištění.<br />

V tomto směru by bylo nejsnazší rozdělit terén pomocí pravidelné mřížky a pracovat s oblastmi<br />

dělení jako s atomickou jednotkou. Z tohoto pohledu je nevhodné použít strukturu jako je TIN,<br />

pokud ji patřičným způsobem neomezíme.<br />

K<strong>on</strong>ečně přišla do úvahy i snadná modifikovatelnost dat, a to jak z pohledu implementačního, tak<br />

především z pohledu systémových nároků. Přitom je třeba brát v úvahu i povahu média. Jestliže<br />

se kupříkladu jedná o médium bez možnosti zápisu, musíme být schopni všechny změny<br />

provedené na datech terénu reprodukovat, resp. zobrazit, alespoň po nějaký omezený čas, dokud<br />

se pozorovatel pohybuje v jejich blízkosti (prostorové i časové – to velmi záleží na rychlosti<br />

pohybu atd.).<br />

Všechny úvahy byly společně srovnány a jako nejlepší možnost byla nak<strong>on</strong>ec vybrána<br />

dvouúrovňová výšková mapa. Princip této reprezentace spočívá v uložení dat v podobě velmi<br />

hrubé výškové mapy o nízkém rozlišení, ale vysoké přesnosti uchovaných hodnot, a druhé, tzv.<br />

mapy reziduí, která je v řádově větším rozlišení, ale její hodnoty jsou daleko nižšího rozsahu. Tyto<br />

mapy se použijí společně pro získání skutečné výšky terénu na základě hrubé aproximace<br />

výškovou mapou a dodefinováním detailu mapou reziduí. Takto navržená datová reprezentace<br />

má několik dobrých vlastností s ohledem na předešlá kritéria:<br />

1. Data jsou snadno modifikovatelná.<br />

2. Rek<strong>on</strong>strukce dat není složitá a je snadné ji provést na grafické kartě (žádná zátěž CPU).<br />

3. Obě mapy lze triviálně rozdělit pravoúhlou mřížkou na menší oblasti pro snadné načítání.<br />

4. Datová průchodnost zdrojového média není příliš limitujícím faktorem.<br />

Výšková mapa je velmi hrubá a je možné ji uchovat v paměti celou, případně načítat jen velmi<br />

zřídka. Z toho vyvozujeme předpoklad, že tato data máme vždy k dispozici a nejsme tedy závislí<br />

na okamžitém doručení dat reziduí. Mapa reziduí by měla obsahovat hodnoty jen velmi malého<br />

rozsahu, a tedy objem dat pro aktualizaci by opět neměl být velký. To již však závisí na rychlosti<br />

pohybu pozorovatele.<br />

Více limitujícím faktorem je zde paměť. Ačkoli užitím této dvouúrovňového struktury máme<br />

daleko nižší nároky na paměť, než kdybychom definovali výškovou mapu v detailu mapy reziduí,<br />

klademe výrazně vyšší nároky na paměť než metoda clipmap. Je to dáno tím, že uchováváme<br />

v paměti vždy celou oblast, která je právě viditelná. Je zřejmé, že ne celá viditelná oblast vyžaduje<br />

tak detailní záznam, jaký poskytuje kombinace výškové mapy a mapy reziduí, ale právě tento<br />

postup nám umožní snadnou modifikovatelnost terénu, ve které tradiční clipmapy selhávají.<br />

Kromě toho to odbourává již dříve zmíněný velký nedostatek clipmap, které špatně reagují na<br />

náhlou změnu velikosti zorného úhlu pozorovatele, při které je třeba okamžité změny přesnosti<br />

dat ve viditelné oblasti (naše dvouúrovňová struktura má všechna potřebná data stále<br />

k dispozici).<br />

Zmínili jsme se o snadné modifikaci. V tomto směru je třeba doplnit, že ačkoli to není nutné,<br />

rozhodli jsme se omezit modifikovatelnost terénu na modifikaci mapy reziduí, která neumožňuje<br />

56

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

Saved successfully!

Ooh no, something went wrong!