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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

která je blíže k pozorovateli, a úhel, který svírají rozbíhavé hrany. Pro takovýto lichoběžník<br />

máme připravenu triangulaci, kterou použijeme pro zobrazování viditelné části terénu a která<br />

tvoří definici struktury trapezmap (viz Obrázek 4.6).<br />

Obrázek 4.6: Trapezmap struktura - schéma pro vzorkování výškové mapy. V blízkosti<br />

pozorovatele je nejhrubší triangulace, s rostoucí vzdáleností se zvětšuje i relativní úroveň dělení.<br />

Triangulace lichoběžníku je založena na rozdělení lichoběžníku na pásy kolmé na směr pohledu<br />

pozorovatele. Šířka každého pásu se zvětšuje se vzdáleností od pozorovatele – tím se dosahuje<br />

nižší frekvence vzorkování méně významných částí terénu. (62) navrhuje provést rovnoměrné<br />

vzorkování po celé obrazovce. My s tímto přístupem nesouhlasíme. Ve vzdálených oblastech totiž<br />

potřebujeme pro dobré vizuální výsledky vzorkovací frekvenci srovnatelnou s desetinou či<br />

dvacetinou pixelu (odpovídá vzdálenosti 10, resp. 20 pixelů mezi vzorky). Ještě vyšší frekvenci<br />

potřebujeme na korektní zachycení horiz<strong>on</strong>tu. Naproti tomu v těsné blízkosti pozorovatele nám<br />

stačí pořizovat vzorky s rozpětím 50 i více pixelů. Je to dáno jednak tím, že jsou to především<br />

vzdálené oblasti, které tvoří siluety, na něž je lidské oko tolik citlivé, jednak také tím, že vysoká<br />

vzorkovací frekvence v blízkosti pozorovatele dokáže výrazně překročit frekvenci, v níž máme<br />

data uložena (tj. detail výškové mapy). Proto navrhujeme rozdělit oblast obrazovky<br />

nerovnoměrně s důrazem na partie, do nichž se promítne vzdálená část terénu. Od toho se odvíjí<br />

také triangulace jednotlivých pásů trapezmap struktury. Počet trojúhelníků v jednotlivých<br />

pásech narůstá se vzdáleností od pozorovatele. Problém navazování odlišně dělených oblastí,<br />

jaký řeší většina LOD algoritmů, clipmapy nevyjímaje, jsme však vyřešili velice snadno pomocí<br />

restrikce přidání maximálně dvou trojúhelníků na pás trapezmapy (To opět názorně předvádí<br />

Obrázek 4.6.). Pokud má tedy nejužší pás trojúhelníků, ten nejširší jich nemůže mít více než<br />

2 1, kde reprezentuje počet pásů trapezmapy.<br />

Počet trojúhelníků v jednotlivých pásech, resp. nárůst jejich počtu, je parametrem struktury. Není<br />

založen na matematickém výpočtu požadované vzorkovací frekvence, protože ta závisí na<br />

subjektivním vnímání, a je tedy těžké ji popsat vztahem. Parametry, ke kterým jsme po nějakém<br />

čase dospěli, jsou založeny pouze na experimentování a subjektivním vjemu. Při použití<br />

trapezmapy jiným způsobem by bylo zřejmě nutné nalézt jiné vhodné parametry. Neplatí to pro<br />

šířku jednotlivých pásů, kterou počítáme na základě definovaného rozestupu prvních dvou,<br />

celkového počtu pásů a maximální vzdálenosti dohledu. Nahlížíme přitom na vzestupnou<br />

69

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

Saved successfully!

Ooh no, something went wrong!