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.

část pomocné výškové mapy hodnotami výšek terénu v odpovídajících lokacích. Tento krok se<br />

provádí tak, že se zpracovávají listy stromu a každý se zapíše pouze do určitých polí pomocné<br />

výškové mapy s rozestupem, který odpovídá celočíselné části LODu přiřazeného danému listu.<br />

Desetinná část hodnoty LODu se zde používá pro morfování mezi dvěma sousedními LODy, které<br />

je tak plynulé, závislé na vzdálenosti, nikoli na čase. Algoritmus má zajímavé řešení LODu, ale je<br />

málo efektivní kvůli nutnosti naplnit pomocnou výškovou mapu aktuálními daty každý snímek<br />

znovu.<br />

Ulrich použil CLOD ve své implementaci zobrazování terénu, ale na rozdíl od (20) a jiných prací<br />

navrhl uložit do kvadrantového stromu i zobrazovaná data (není tedy použita výšková mapa)<br />

(27). Tento přístup má dvě velké výhody. Jednak je možné za běhu modifikovat nejen hodnoty<br />

dat, ale i jejich rozložení a rozlišení. Druhá výhoda pak spočívá v možném použití oblastí zájmu,<br />

které lze aplikovat například na definování detailnějšího terénu v důležitých oblastech.<br />

K implementaci je také možné získat zdrojový kód.<br />

Inovativní přístup ke zpracování kvadrantového stromu je popsán v (28). Jeho zvláštností je<br />

práce se stromem na <strong>GPU</strong>. Model je nejdříve obalen velmi hrubě dělenou strukturou složenou ze<br />

stejných krychlí. Na ty je namapována geometrie (a jiné atributy) původního modelu. Jednotlivé<br />

stěny krychlí jsou uloženy do jediné velké textury (nazvaná LOD atlas) jako listy stromu.<br />

Společně s nimi jsou do LOD atlasu uloženy všechny ostatní uzly stromu a celá tato textura je<br />

najednou zpracována na <strong>GPU</strong>, kde se pro každý uzel rozhoduje, zda má či nemá být dělen.<br />

Výsledek je použit v druhém průchodu, během kterého proběhne ořezání i nanesení geometrie<br />

na připravené vrcholy pomocí čtení dat z LOD atlasu. Algoritmus je implementovaný ve starším<br />

Shader Modelu (k<strong>on</strong>krétně 2.0) a dá se očekávat, že novější implementace by dosáhla daleko<br />

lepších výsledků. Přesto není aplikovaný na terén a zbývá tedy otázka, zda by k tomuto účelu byl<br />

použitelný. Z jistého hlediska by byla aplikace na terén snazší – mapování na kvadrantový strom<br />

za použití výškové mapy je přímočaré, ovšem algoritmus má poměrně velké paměťové nároky,<br />

které by nejspíše příliš limitovaly možnou velikost terénu. Přesto by si podle nás zasloužila tato<br />

metoda hlubší prozkoumání.<br />

Jak již bylo zmíněno, kvadrantový strom představuje velmi přirozenou volbu při řešení<br />

zobrazování terénu. Průřez různými (ale staršími) pohledy a podrobnější rozbor některých<br />

z nich je možné nalézt kupříkladu v (29).<br />

2.3.4 Binary triangle tree<br />

Binární trojúhelníkový strom (binary triangle tree, dále jen BTT) je hierarchická struktura, v níž je<br />

klasický binární strom použit k reprezentaci povrchu pomocí rekurzivně dělených trojúhelníků.<br />

Ty bývají obvykle pravoúhlé, ale existují výjimky. Algoritmy zde uvedené jsou velmi podobné<br />

algoritmům v odstavci Error! Reference source not found., ale využívají jiným způsobem<br />

dělené hierarchické struktury. Výhodou BTT oproti kvadrantovému stromu by mohla být<br />

přirozená triangulace daná přímo listy stromu, avšak algoritmy povětšinou trpí stejným<br />

27

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

Saved successfully!

Ooh no, something went wrong!