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.

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

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

Saved successfully!

Ooh no, something went wrong!