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.

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

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

Saved successfully!

Ooh no, something went wrong!