Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
(záměna diag<strong>on</strong>ály ve čtyřúhelníku), ze kterých p<strong>on</strong>echává ty, které nejlépe vyhovují zvoleným<br />
měřítkům, tj. minimalizují energetickou funkci.<br />
Hoppe později přináší pozměněný algoritmus (13), který provádí pouze operaci edge collapse.<br />
Zdůvodňuje to daleko rychlejší k<strong>on</strong>vergencí bez ztráty kvality výsledné sítě. Navíc rozšiřuje<br />
metriku chyby o zavedení atributů spojených se stěnami (materiál) nebo vrcholy (texturové<br />
souřadnice, normály) sítě. Původní energetická funkce pracuje pouze s geometrií, což je ve<br />
většině případů nedostatečné. Navíc je dříve navržený algoritmus pohledově nezávislý. Hoppe to<br />
řeší pomocí zpětné vazby do aplikace, která má sama rozhodnout, zda se má daná operace vertex<br />
split provést, nebo ne. Operace se navíc provede pouze tehdy, pokud je pro aktuální síť platná,<br />
což závisí na tom, zda byly aplikovány vertex split operace, na nichž je tato závislá. I tento přístup<br />
má však slabinu v podobě velké časové náročnosti při adaptivním označování operací, které se<br />
mají provést (nulová koherence mezi snímky).<br />
Skutečné pohledově závislé řešení pro progressive mesh navrhli Xia a Varshney (15) a nezávisle<br />
na nich Hoppe (16). Xia a Varshney navrhli použití merge tree struktury, což je binární strom, do<br />
kterého uložili hierarchii vrcholů propojených pomocí edge collapse operací (resp. vertex split<br />
operací, pokud procházíme stromem od kořene k listům). Průchod stromem obnáší provádění<br />
operací nad vrcholy a zjednodušování nebo rek<strong>on</strong>struování geometrie podle směru průchodu.<br />
Při průchodu je potřeba dodržovat restrikci na korektnost geometrie – operaci je možné provést<br />
pouze tehdy, pokud aktuální okolí daného vrcholu souhlasí s okolím definovaným v merge tree.<br />
To zabrání vzniku prasklin mezi nek<strong>on</strong>zistentně rek<strong>on</strong>struovanými oblastmi. Hoppeho řešení je<br />
velmi obdobné, pouze rozšířil definice vertex split a edge collapse operací o závislost na okolních<br />
trojúhelnících, a zbavil se tak restrikcí uvnitř merge tree. Oba postupy definují novou metriku<br />
chyby založenou na parametrech pohledu (náležení do zobrazovaného prostoru, orientace<br />
povrchu, chyba projekce do prostoru obrazovky). Podobné řešení nabízí také (17), avšak to je<br />
generalizováno na obecnější objekty, nejenom manifoldy 13.<br />
Ve své další práci (18) Hoppe navrhl úpravu algoritmu pro zobrazování terénu. Obohatil<br />
zobrazování o morfování geometrie, aby potlačil popping artefakt. Operaci vertex split neprovádí<br />
okamžitě, ale nově vzniklým vrcholům dává stejné souřadnice, které jsou během několika<br />
zobrazených snímků interpolovány do správných poloh. Použití parametru čísla snímku pro<br />
řízení morfování je zpravidla nevhodné, protože není snadné zajistit k<strong>on</strong>stantní zobrazovací<br />
frekvenci, a na rychlém stroji se tedy může opět projevit popping. Aby byl algoritmus použitelný<br />
na velká data, je navíc vygenerována hierarchická struktura jednotlivých sítí pro rozdělení<br />
terénu na menší oblasti, jejichž plynulé napojení vyřešil zafixováním vrcholů na okrajích.<br />
Progressive mesh je dnes pro zobrazování terénu jen velmi špatně použitelný, protože složité<br />
hierarchické struktury pro operace nad vrcholy není možné efektivně uložit a zpracovávat na<br />
<strong>GPU</strong>. Pro CPU tak progressive mesh představuje nevítanou zátěž související i s nutnou<br />
rek<strong>on</strong>strukcí dat, která se předávají grafické kartě. Pro jiné účely má však progressive mesh ještě<br />
svůj význam. Například postupná rek<strong>on</strong>strukce modelu je dobře využitelná pro zobrazování dat<br />
13 (n-)manifold je objekt (prostor), který je lokálně podobný n-rozměrnému Euklidovskému prostoru. V<br />
matematice se nazývá též varieta.<br />
23