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.

Podmínka snadné škálovatelnosti výk<strong>on</strong>u pro různé k<strong>on</strong>figurace cílového hardwaru je pro hry<br />

kritická. V prostoru herních k<strong>on</strong>zolí jsou sice daleko přesnější specifika platformy a má význam<br />

optimalizovat implementaci algoritmu pro jeden zvolený systém, ale v pojetí celkového návrhu<br />

algoritmu by se to nemělo příliš odrazit, neboť ten by měl být použitelný v různých herních<br />

projektech pro různé cílové platformy (s ohledem na výše definované cíle). Požadavek jsme v jiné<br />

formě přidali i do kategorie méně důležitých cílů – dynamická škálovatelnost výk<strong>on</strong>u za běhu je<br />

velice užitečná pro udržování plynulého pohybu či přehrávání animací. Zátěž systému se totiž<br />

dynamicky mění v závislosti na činnosti hráče a jeho interakce s herním prostředím. Při vývoji se<br />

tak musí dělat odhady nejen průměrné zátěže systému, ale také maximální (minimální je vždy<br />

irelevantní). Pokud jsme schopni různé části kódu dynamicky k<strong>on</strong>figurovat tak, aby prováděly<br />

svoji činnost rychleji (za cenu snížení kvalitativních kritérií), můžeme kritické situace, kdy je<br />

zátěž systému nejvyšší, eliminovat vhodnou k<strong>on</strong>figurací prováděných úk<strong>on</strong>ů. Takto definovaný<br />

požadavek však považujeme pouze za užitečný, nikoli nutný.<br />

Další dva požadavky spojené s hardwarovými nároky souvisí s menšími změnami v architektuře<br />

cílových počítačů. Jedním ze současných trendů je šetření cyklů CPU na úkor <strong>GPU</strong>. Je to dáno tím,<br />

že výk<strong>on</strong> <strong>GPU</strong> narůstá v současné době větší měrou a že je tato jednotka dedikována jedinému<br />

úkolu (totiž zobrazování), zatímco CPU se musí starat nejen o všechny ostatní úkoly v aplikaci,<br />

ale také o zásobování <strong>GPU</strong> správnými daty. Často se tak stává, že CPU zaměstnané herní logikou<br />

není schopno dodávat data k zobrazení dostatečně rychle a výk<strong>on</strong> <strong>GPU</strong> závislého na těchto<br />

datech je nevyužit. Jiný trend, jímž je paralelizace, se teprve zvolna rozvíjí a souvisí s nástupem<br />

počítačů s více procesory nebo více jádry na pozice běžných herních strojů. Výše uvedené dva<br />

požadavky, tedy minimální nároky na CPU a možnost paralelizace, se v jistém smyslu vylučují<br />

navzájem. Vysloveno explicitně - pokud se nám podaří navrhnout zobrazování terénu tak, aby<br />

zatěžovalo CPU minimálně, je zbytečné řešit ho paralelně ve více procesorových vláknech. Při<br />

návrhu přesto chceme brát v potaz obě kritéria a zohlednit je dle možností.<br />

K<strong>on</strong>ečně významnou výhodou každého algoritmu, zvláště pak aplikovaného v komerčním<br />

sektoru, je jednoduchost implementace. To v praxi znamená snížení ceny vývoje nebo získání<br />

času pro vyzkoušení více algoritmů, z nichž se vybere jeden podle nejlepších výsledků pro daný<br />

projekt. Pro tuto práci je to však kritérium minoritní, nechceme se bránit ani komplexním<br />

řešením, která budou v intencích dříve zmíněných cílů.<br />

1.2 Struktura textu<br />

Hlavní text jsme rozdělili do tří větších celků. V prvním (kapitola 2) se věnujeme základním<br />

kamenům zobrazování terénu. Vysvětlujeme důležité pojmy s tím související a provádíme širší<br />

průzkum algoritmů, které se pro zobrazování terénu používaly nebo používají.<br />

V kapitole 3 se zjednodušeně věnujeme postupům zjemňování geometrie, ze kterých největší<br />

pozornost věnujeme subdivisi<strong>on</strong> surfaces. Ukazujeme, jakou souvislost mohou mít se<br />

zobrazováním terénu a jak jich chceme využít. Rozebíráme zde také nejčastěji používaná dělící<br />

schémata a stručně shrnujeme práce, které se této problematice více věnují.<br />

9

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

Saved successfully!

Ooh no, something went wrong!