Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Prvním z návrhů je pokládání ringmapy do předem definovaných pozic. Tyto pozice můžeme<br />
definovat pomocí diskrétní mřížky, nebo pomocí vztahu k poslední pozici ringmapy. Důležité je,<br />
aby se ringmapa neposouvala spojitě s pozorovatelem, ale aby se pohybovala v diskrétních<br />
krocích. Kdybychom toho dosáhli, můžeme pomocí triviálního morfování zajistit plynulý přechod<br />
z jedné geometrie na druhou. To by silně ovlivnilo poměr texturových a aritmetických instrukcí.<br />
Problém tohoto přístupu vyplývá z nepravidelné struktury ringmapy. Jednotlivým vrcholům<br />
ringmapy v jednom umístění je totiž potřeba nalézt odpovídající vrcholy v druhém umístění,<br />
mezi kterými se morfování provede. Tento úkol se ukázal být značně netriviální, neboť síť<br />
ringmapy má v různých částech různou hustotu a my potřebujeme vytvořit párovací schéma (ne<br />
nutně bijekci), které by každému vrcholu přiřadilo nějakého reprezentanta nacházejícího se<br />
blízko ve smyslu světového souřadného systému. Takové schéma by navíc muselo být<br />
generalizované, aby šlo použít na různé situace, případně by se takových dala vytvořit sada a<br />
párování pro každé z nich by se uložilo v podobě textury. Vyřešení tohoto úkolu by mohlo mít<br />
velmi pozitivní vliv na kvalitu zobrazování, resp. rychlost při dané kvalitě.<br />
Není těžké si povšimnout, že nepříjemný efekt se projevuje především na siluetách. Proto naším<br />
dalším návrhem je provést dodatečné dělení struktury ringmapy v geometry shaderu, kde podle<br />
normály vrcholů trojúhelníku můžeme provést násobné dělení hrany podezřelé z podílení se na<br />
siluetě. Pokud budeme podávat trojúhelníky grafické kartě s informacemi o sousedech, můžeme<br />
siluety dok<strong>on</strong>ce označit přesně. Kromě toho můžeme adaptivně dělit i jiné trojúhelníky podle<br />
rozdílu výšek jejich vrcholů. Otázkou je, jakého výk<strong>on</strong>u bychom dosáhli v souladu s našimi<br />
experimenty popsanými v odstavci 4.2.3.2. Výk<strong>on</strong> by mohl být ještě nižší než při velmi<br />
intenzivním převzorkování mapy reziduí.<br />
Další možností řešení aliasu je použití imposterů, tj. dvourozměrných zástupných objektů,<br />
kterými nahradíme vzdálené části terénu. Impostery se vytváří zobrazením nějakého objektu<br />
nebo skupiny objektů do textury. V našem případě by se do textury zobrazila vzdálená část<br />
terénu v nějakém úhlu kolem pozorovatele. Na pokrytí plného úhlu by nám mohlo stačit 8 až 16<br />
imposterů, neboť by byly použity až pro větší vzdálenosti. Při zobrazování se objekt nebo<br />
skupina objektů, která se dříve zobrazila do imposteru, nahradí jediným velkým čtyřúhelníkem,<br />
na který se promítne získaný imposter. Protože imposter se nemusí vytvářet každý snímek<br />
znovu, je možné věnovat jeho tvorbě větší množství času, takže skýtá možnost lepších vizuálních<br />
výsledků než přímé zobrazování. Pro terén by nám to mohlo přinést hned několik vylepšení.<br />
Předně bychom naprosto potlačili vlnění geometrie v dálce, zobrazený terén by mohl být<br />
detailnější a k<strong>on</strong>ečně bychom tak mohli zvýšit dohledovou vzdálenost bez újmy na rychlosti<br />
zobrazování. Pokud předpokládáme rychlost pohybu chodce nebo běžce, můžeme udržet jeden<br />
imposter platný po dobu stovek až tisíců snímků. Problémy s impostery bývají často spojeny se<br />
správným napojením na objekty, které jsou zobrazovány přímo. Plně funkční implementace<br />
nemusí být snadná, ale zcela určitě představují impostery možnost dalšího postupu a rozšíření<br />
naší metody.<br />
4.7.3 Mapování textury na terén<br />
Prozatím používáme na terén barvu, kterou načteme z jednorozměrné textury na základě výšky<br />
terénu v daném místě. Je to tedy obdoba barvení používaná v kartografii. Tento postup však<br />
93