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.
zvolen plášť koule. Vždy, když se pozorovatel dostane do prostoru vymezeného nějakou koulí,<br />
nahradí je asociovaná oblast přidána do seznamu pro rozdělení. Naopak, když pozorovatel kouli<br />
opustí, je oblast přidána do seznamu pro sloučení. Zbytek algoritmu probíhá stejně – hladový<br />
algoritmus za pomoci dvou fr<strong>on</strong>t vybírá oblasti pro sloučení a rozdělení a při přechodu na další<br />
snímek využívá struktury zhotovené v předchozím snímku. Pro urychlení testů se využívá<br />
m<strong>on</strong>otónnosti této metriky, a testují se tedy pouze aktivní obalové koule. Dalšího urychlení se<br />
dosahuje dočasnou agregací různých skupin koulí podle polohy pozorovatele a jejich vzájemných<br />
vzdáleností. Detailnější implementaci práce nezmiňuje, věnuje se spíše texturování terénních dat.<br />
Také nenabízí žádná číselná srovnání, pouze zmiňuje výrazně lepší výsledky než ROAM, zvláště<br />
při vyšších rychlostech pohybu a velikosti terénu.<br />
Princip algoritmu ROAM je využit také v (33), ve kterém jsou části BTT nahrazeny předem<br />
generovanými bloky terénu namísto jednotlivých trojúhelníků. Algoritmus nazvaný RUSTiC ve<br />
fázi předzpracování pro data terénu vytvoří trojúhelníkové bloky reprezentující možná<br />
zak<strong>on</strong>čení BTT. Každý takový blok je sestaven až z 16 trojúhelníků a je dělen určitým unikátním<br />
způsobem, aby se dal spojitě napojit na sousední bloky. ROAM algoritmus je použit na rychlé<br />
řešení oblastí, které je potřeba rozdělit či spojit a skupiny trojúhelníků jsou pak ve fázi<br />
zobrazování nahrazeny jedním blokem, jak ukazuje Obrázek 2.13.<br />
Obrázek 2.13: Napojení dvou sousedních bloků, které musí být stejně děleny na společné hraně.<br />
Efektivnější agregování trojúhelníků do větších celků, než jaké používá RUSTiC algoritmus,<br />
navrhuje Levenberg v (34). Zatímco RUSTiC využívá předzpracování terénu pro vygenerování<br />
použitých bloků, které vystupují jako jakési šabl<strong>on</strong>y, Levenberg navrhuje vytvářet tyto bloky až<br />
za běhu. Důležité je, že vygenerovaný blok se uchovává v paměti tak dlouho, dokud nemá dojít<br />
k jeho rozdělení či sloučení. Tento přístup má výrazně menší nároky na paměť – uchovávají se<br />
v každý čas jen aktuálně používané agregované trojúhelníky – a ne potřebuje fázi<br />
předzpracování. O velikostech agregovaných trojúhelníků se může rozhodnout kdykoli za běhu<br />
podle poměru výk<strong>on</strong>u CPU a <strong>GPU</strong> (větší agregované trojúhelníky znamenají více nadbytečné<br />
geometrie, ale menší dobu zpracování ROAM algoritmu).<br />
Zvláštní adaptace ROAM algoritmu byla navržena v (35). Autoři použili algoritmus při<br />
zobrazování modifikovatelného terénu. Využili přitom výhody BTT struktury, která je nezávislá<br />
na datech co do hodnoty i objemu (v případě větší komplexnosti dat se pouze přidají úrovně<br />
stromu). Navržený algoritmus pracující nad výškovou mapou dělí terén do buněk podle toho, jak<br />
je potřeba přidat detail, případně změnit data v určitých oblastech. Při potřebě zvýšení rozlišení<br />
30