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.
jsou počítána za běhu, dok<strong>on</strong>ce každý snímek znovu, takže se tento přístup pro vysokou zátěž<br />
CPU nedá považovat za příliš úspěšný. Implementace s lepším využitím <strong>GPU</strong> by však mohla<br />
poskytnout zajímavé výsledky.<br />
3.2 Subdivisi<strong>on</strong> surfaces<br />
Mezi parametrickými plochami se nejvíce využívají různé formy po částech polynomiálních<br />
ploch, se kterými se v mnoha směrech dobře pracuje. Jejich velkým nedostatkem je však<br />
problematické vyjádření nepravidelných sítí, přesněji sítí, jejichž vrcholy nejsou všechny jednoho<br />
stupně (6 pro trojúhelníkové sítě, 4 pro čtyřúhelníkové). Přitom z Eulerovy formule pro rovinné<br />
grafy víme, že takovouto pravidelnou sítí můžeme vyjádřit pouze plochy topologicky ekvivalentní<br />
nek<strong>on</strong>ečné rovině, válci nebo torusu. Z toho plyne, že většinu skutečných modelů (počínaje<br />
koulí), které chceme vytvořit, nemůžeme takto reprezentovat, a tedy že do sítě musíme vložit<br />
vrcholy odlišného stupně, které nazýváme výjimečnými vrcholy. Vyjádření sítí s výjimečnými<br />
vrcholy pomocí polynomiálních parametrických ploch se vždy jevilo obtížné, především při<br />
potřebě spojitého napojení vyššího řádu. I z tohoto důvodu byly hledány jiné způsoby vyjádření<br />
hladké plochy. Jedním ze způsobů je užití subdivisi<strong>on</strong> surfaces, která nezávisle na sobě před 30<br />
lety objevily dvojice Catmull s Clarkem (69) a Doo se Sabinem (70). Subdivisi<strong>on</strong> surface můžeme<br />
zjednodušeně popsat jako plochu limitně vyjádřenou opakováním zvoleného postupu<br />
zjemňování sítě. Zjemňující postup si můžeme také představit jako funkci aplikovanou na model<br />
reprezentovaný polyg<strong>on</strong>ální sítí (nemusí to být pouze trojúhelníky), jejímž výsledkem je<br />
složitější a hladší aproximace původní sítě. Nek<strong>on</strong>ečným počtem opakování aplikace této funkce<br />
na výsledek předešlého výstupu bychom měli dojít k limitní ploše, jejíž vlastnosti (například<br />
stupeň spojitosti) jsou dány zvoleným dělícím schématem.<br />
Dělení lze vždy vyjádřit sadou pravidel aplikovaných na všechna primitiva (vrcholy, hrany,<br />
stěny) sítě. Sada pravidel využívá k<strong>on</strong>ečné okolí zvoleného primitiva a na jeho základě mění<br />
lokálně síť. Pokud je pravidlo určeno pro vrcholy, pozměňuje jejich pozici. Pokud je určeno pro<br />
hrany nebo stěny sítě, vloží za dané primitivum do sítě nový vrchol. Takto vytvořený vrchol<br />
nazýváme hranový, resp. stěnový. Pravidla kromě definice souřadnic také říkají, jak nově přidané<br />
vrcholy spojit. Na pravidlo dělícího schématu můžeme také nahlížet jako na funkci, která<br />
ohodnocuje blízké vrcholy nějakého primitiva a výsledný vrchol je pak lineární kombinací<br />
vrcholů ohodnocených nenulovou vahou. Pro takovéto chápání pravidla můžeme použít pojem<br />
nosiče funkce k definování nosiče schématu (značme supp):<br />
supp supp,<br />
<br />
kde je množina pravidel schématu a supp je nosič funkce definovaný jako uzávěr množiny<br />
supp : 0.<br />
Samozřejmě pro snadnou implementaci a efektivní výpočet je výhodou, pokud má schéma co<br />
nejmenší nosič. Zpravidla mluvíme o -okolí vrcholu nebo stěny (značme ring ), která<br />
popisujeme pomocí indukce. Pro vrchol tedy definujeme<br />
44