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.
čá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