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.
2 Zobrazování terénu<br />
Zobrazování terénu již byla věnována nejedna publikace a ve hrách byl implementován nejeden<br />
algoritmus, který problém lépe či hůře řešil s ohledem na dané prostředky. Starší algoritmy často<br />
nejsou dnes plně použitelné, protože v době jejich vzniku byla významnější jiná kritéria. My jsme<br />
se však na tento jev podívali z jiné strany – mnohé algoritmy a myšlenky, které v průběhu času<br />
přestaly být atraktivní, se dnes mohou ukázat opět užitečné. Stejně tak mnohé návrhy, které se<br />
objevily již dříve, ale jejichž implementace byla limitována architekturou či systémovými<br />
prostředky, se mohou uplatnit nyní. Proto chceme nabídnout rekapitulaci významnějších<br />
algoritmů, které za posledních 20 let vznikly a měly přímé uplatnění při zobrazování terénu. Není<br />
cílem této práce vytvořit studii všech navržených přístupů, ale rádi bychom na příkladech těch<br />
podle nás významnějších poukázali na některé důležité prvky návrhu a vlastnosti finálního<br />
řešení.<br />
V této kapitole rozebereme způsoby datové reprezentace terénních dat (paragraf 2.1) a pojmy<br />
související s jejich zjednodušováním a zobrazováním (paragraf 2.2). Nak<strong>on</strong>ec provedeme průřez<br />
používanými technikami a algoritmy (paragraf 2.3).<br />
2.1 Datová reprezentace terénu<br />
S návrhem algoritmu na zobrazování jakýchkoli dat velmi úzce souvisí volba jejich datové<br />
reprezentace, a to v několika úrovních zpracování. Jednu reprezentaci si svým způsobem vynutí<br />
<strong>GPU</strong>, které je stavěno na zobrazování trojúhelníků, i když máme poměrně velkou volnost ve<br />
způsobu dodání dat pro tyto trojúhelníky 5. Jinou reprezentaci můžeme zvolit pro udržování dat<br />
za běhu programu, avšak v praxi jsou tyto dvě reprezentace zpravidla totožné, protože rozdílné<br />
uložení dat v operační paměti a při zpracování na <strong>GPU</strong> si vyžaduje časté (obvykle každý snímek)<br />
k<strong>on</strong>verze jednoho formátu do druhého. Není to nepoužitelný přístup, ale pro zobrazování terénu<br />
je nevhodný, neboť v případě terénu se jedná o velké množství dat, při jehož zpracování hrají<br />
významnou roli i jinde zanedbatelné parametry. K<strong>on</strong>ečně jinou reprezentaci si může vynutit<br />
uložení dat na zdrojovém médiu, zvláště z důvodu limitujících přenosových rychlostí (zdrojem<br />
může být server na Internetu, nebo optické médium). My se zde zaměříme na uložení dat<br />
v operační paměti, tedy dat připravených na zobrazení pomocí <strong>GPU</strong>. Popíšeme si dva základní<br />
přístupy:<br />
1. Triangulated irregular network<br />
2. Heightmap<br />
5 Oproti prvním <strong>GPU</strong>, na kterých byla topologie těsně vázána na geometrii (každý vrchol nějakého<br />
trojúhelníku měl přímo definovány souřadnice), nyní můžeme oddělit geometrii a uložit v podobě<br />
textury, či dok<strong>on</strong>ce utvářet topologii přímo na grafické kartě.<br />
11