Data pro real-time grafiku © 2005 Josef Pelikán, MFF UK Praha

Slides:



Advertisements
Podobné prezentace
2.1 Pevný disk Fyzická struktura  plotny  záznamový materiál  č/z hlavičky  prachotěsný obal  motorky otáčení ploten  plotny na jedné hřídely.
Advertisements

Základní škola a mateřská škola Lázně Kynžvart Autor: David Holubec NÁZEV: VY_32_INOVACE_01_INF Vzdělávací oblast: informatika Ročník: 9. Číslo projektu:
Spolupráce mezi výkresy bloky (s atributy) Design center externí reference.
Inf Tabulkový procesor - funkce. Výukový materiál Číslo projektu: CZ.1.07/1.5.00/ Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT.
Elektrotechnická měření Dimenzování sítí nn - PAVOUK 2.
Experimentální metody oboru – Pokročilá tenzometrie – Měření vnitřního pnutí Další využití tenzometrie Měření vnitřního pnutí © doc. Ing. Zdeněk Folta,
Význam diferenciálních rovnic převzato od Doc. Rapanta.
IP adresace (IPv4) Velikost a určení IP adresy I. Epocha (dělení na třídy) II. Epocha (zavedení masky) Speciální adresy Příklady a řešení IP adres Souhrn.
ZAL – 5. cvičení Martin Tomášek Pole - opakování Základní datový typ. V poli držíme více elementů (jednoho typu) S elementy v poli můžeme manipulovat.
Název:VY_32_INOVACE_ICT_6A_8B Škola:Základní škola Nové Město nad Metují, Školní 1000, okres Náchod Autor:Mgr. Milena Vacková Ročník:6. Tematický okruh,
BAREVNÉ PALETY A MONOCHROMATICKÉ ZOBRAZOVÁNÍ JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI.
Dopravní modely v SUMP Jitka Ondráčková
Kolmé hranoly, jejich objem a povrch
Tělesa –Hranol Číslo projektu: CZ.1.07/1.4.00/ Název DUM:
Počítačová grafika.
Kolmé hranoly, jejich objem a povrch
Multimediální prezentace vzdělávacích oblastí ŠVP
Počítačová grafika Rozdělení počítačové grafiky, charakteristika jednotlivých druhů.
Obsah přednášky Motivace
2.2. Dynamika hmotného bodu … Newtonovy zákony
Matematika 3 – Statistika Kapitola 4: Diskrétní náhodná veličina
Lineární funkce - příklady
Vlnění a optika (Fyzika)
Základní škola a Mateřská škola Bílá Třemešná, okres Trutnov
„Svět se skládá z atomů“
Financováno z ESF a státního rozpočtu ČR.
NÁZEV ŠKOLY: ZŠ J. E. Purkyně Libochovice
Přenos tepla Požár a jeho rozvoj.
Znakový jazyk Znakovaná čeština
GEOMETRICKÉ TVARY v rozsahu učiva 1. stupně ZŠ
Běžné reprezentace grafu
METODICKÝ LIST PRO ZŠ Pro zpracování vzdělávacích materiálů (VM)v rámci projektu EU peníze školám Operační program Vzdělávání pro konkurenceschopnost   
KINETICKÁ TEORIE STAVBY LÁTEK.
Vektorová grafika.
MATEMATIKA – GEOMETRIE 7
SÁRA ŠPAČKOVÁ MARKÉTA KOČÍBOVÁ MARCELA CHROMČÁKOVÁ LUKÁŠ BARTOŠ B3E1
Stopy roviny (Mongeovo promítání)
Regulátory spojité VY_32_INOVACE_37_755
Steinerova věta (rovnoběžné osy)
7. Druhy čar, měřítka zobrazení, písmo Technická dokumentace
BIBS Informatika pro ekonomy přednáška 2
Informatika pro ekonomy přednáška 8
Přídavná zařízení.
Informatika – Grafika.
NÁZEV ŠKOLY: Základní škola Josefa Bublíka, Bánov
Výukový materiál zpracovaný v rámci projektu "EU peníze školám"
Informatika Počítačové sítě.
Materiál byl vytvořen v rámci projektu
Remote login.
Konstrukce trojúhelníku
IDEÁLNÍ KRYSTALOVÁ MŘÍŽKA
Word Okraje WordArt Pozadí Vodoznak. Word Okraje WordArt Pozadí Vodoznak.
Základní škola Ústí nad Labem, Anežky České 702/17, příspěvková organizace   Číslo projektu: CZ.1.07/1.4.00/ Název projektu: „Učíme lépe a moderněji“
Soustava částic a tuhé těleso
BD01 Základy stavební mechaniky
Tělesa –Pravidelný šestiboký hranol
Neživá příroda - vzduch
Provozováno Výzkumným ústavem pedagogickým v Praze.
Informatika pro ekonomy přednáška 8
Lineární funkce a její vlastnosti
Konstrukce trojúhelníku - Ssu
Hra (AZ kvíz) ke zopakování či procvičení učiva:
OBVOD A OBSAH SLOŽITĚJŠÍCH OBRAZCŮ
Algoritmizace a datové struktury (14ASD)
Teorie chyb a vyrovnávací počet 2
Teorie chyb a vyrovnávací počet 2
2. Centrální gravitační pole
Tečné a normálové zrychlení
Konstrukce trojúhelníku
Informatika Počítačové sítě.
Transkript prezentace:

Data pro real-time grafiku © 2005 Josef Pelikán, MFF UK Praha

Obsah povrchové modely efektivní přenos dat do GPU hierarchické reprezentace světa artikulované hierarchie, kostry „Level of Detail” (LoD) různé úrovně přesnosti modelů obecné povrchové modely i terén (DMT) billboardy, impostery, point-sprites

Reprezentace 3D dat obecně existuje několik odlišných přístupů k reprezentaci 3D dat v real-time grafice je nejběžnější povrchová reprezentace (B-rep, „boundary representation”) pouze informace o povrchu těles nejjednodušší formát: povrch je tvořen rovinnými ploškami (trojúhelníky) nebo body (point-sprites) geometrie + topologie souřadnice vrcholů + napojení plošek (síť trojúhelníků) sdílení sousedních vrcholů, hran apod. (úspory)

Síť trojúhelníků V1V1 V2V2 V3V3 V5V5 V4V4 V6V6 F1F1 V 1 x,y,z,w V 2 x,y,z,w V 3 x,y,z,w V 4 x,y,z,w V 5 x,y,z,w... F 1 V 1,V 4,V 5 F 2 V 1,V 3,V 4 F 3 V 2,V 3,V 1 F 4 V 2,V 4,V 3... podobnost s relační databází tabulky vrcholů (V, „vertex”), hran (E, „edge”) a stěn (F, „face”) jsou navzájem propojeny každá entita může obsahovat libovolný počet dalších atributů (vrchol: normála, barva,..; stěna: textura,..) odkazy pomocí indexů (místo ukazatelů)

Síť trojúhelníků hrany se u některých systémů používají, hardware s nimi však většinou nepočítá hardware umí přistupovat k datům úsporně: zadá se kompletní pole vrcholů (viz „VBO” na serveru) jednotlivé stěny (trojúhelníky) se pak už jenom odkazují do pole vrcholů pomocí indexů (viz index buffer) nejrychlejší konstrukce: proužky trojúhelníků („triangle strip”) nebo vějíře („triangle fan”)

Aproximace hladkého tělesa aby byl vzhled co nejlepší, musí se použít velký počet trojúhelníků pro kulovou plochu několik stovek, pro postavu člověka až desítky tisíc trojúhelníků hladkému vzhledu napomáhá některá ze stínovacích technik interpolace barvy nebo normály, viz v plné přesnosti se nemusí kreslit objekty značně vzdálené od pozorovatele úroveň detailu (LoD, „Level of Detail”), viz dále

Aproximace hladkého tělesa pro realistický výsledek ani taková přesnost nemusí stačit viz obrysy těchto „hladkých” těles

Hierarchické modelování scéna se skládá z objektů objekty se skládají z komponent  komponenty se skládají ze součástek » součástky se skládají z... Hierarchické modelování je přirozené a efektivní v databázi mohou být uloženy celé knihovny dílů, ze kterých si konstuktér/umělec vybírá další „přidružené” vlastnosti hierarchické metodiky:  atributy uzlů hierarchie (dědičnost, parametrizovatelnost)  relativní transformační matice (poloha potomka je definována pouze vzhledem k jeho rodičovskému uzlu)

Strom scény Strom scény je uložen na disku kvůli vícenásobným odkazům se částečně v paměti rozvíjí robot hlavatělorukanoha ruka oko ramenoloketzápěstí... palecprst1prst2 T1T1 T2T2 T3T3

Relativní transformace Transformace listu scény (síť trojúhelníků) do světových souřadnic se skládá z posloupnosti transformací součiny matic i modelové transformace může počítat GPU robot hlavatělorukanoha ruka oko ramenoloketzápěstí... palecprst1prst2 T5T5 T7T7 T9T9 T 9 · T 7 · T 5

Animace kostry hierarchický systém „kostí” (souřadných soustav) relativní transformace – otočení vzhledem k předkovi + translace (matice, kvaternion): R i (t) posunutí celého objektu (těla): T(t) celková transformace: R 1 (t) R 2 (t) T(t) R 3 (t)

Úroveň detailu (LoD) Optimální efektivita vykreslování: vzdálené detaily (velikostí srovnatelné s rozměrem pixelu) se už nemusí vykreslovat naopak – nejbližší předměty (na které se dívá uživatel) si zasluhují co možná nejlepší vizuální kvalitu dynamická úroveň detailu („dynamic Level of Detail”) program automaticky přizpůsobuje jemnost dat lze implementovat globální dolaďování (např. zadání celkového počtu trojúhelníků, které se mají vykreslovat) náročná příprava dat: předem se musí připravit několik úrovní dat (nebo algoritmus spojitého zjemňování)

Diskrétní LoD předem je připraveno několik LoD-ů modely objektu s různou přesností může se vycházet z nejjemnějšího modelu – generalizace (časově náročný výpočet) vykreslování – výběr použitého LoDu: podle vzdálenosti od kamery podle velikosti projekce obalového tělesa  nebo přesná projekce – nejvíc pozorovatelné jsou chyby kolmé na směr pohledu důležitost objektu, zaměření („focus”) pozorovatele globální vyvážení (počet vykreslovaných polygonů)

Přepínání LoD jednoduché přepínání musí se zavést hystereze ! „popping” – blikání LoDů míchání sousedních LoDů (LoD blending) kreslení dvou sousedních úrovní pomocí průhlednosti  lineární kombinace („transition”) alternativa  aktuální LoD se kreslí neprůhledně  přidá se poloprůhledný nový LoD (alfa operace „over”)  zápis „z-write” je zapnutý jen u aktuálního LoDu

Inkrementální LoD potlačuje blikání přechod je spojitý – množství jednoduchých (elementárních) přechodů bývá náročný na přípravu dat a FPU příklad elementárních operací nad sítí trojúhelníků: kolaps hrany (a dvou sousedních trojúhelníků)  zmizí 1 vrchol, 3 hrany a 2 trojúhelníky rozpojení vrcholu (inverzní operace)  vznikne nový vrchol, 3 hrany a 2 trojúhelníky možnost animace: vrchol míří doprostřed hrany..

Elementární operace I kolaps hrany vs. rozpojení vrcholu: možnost přechodové animace edge collapse vertex split

Elementární operace II jeden z vrcholů může zůstat na místě: je to vlastně jedna z forem odstranění vrcholu (viz dále) half-edge collapse vertex split

Elementární operace III kolaps trojúhelníka vs. rozpojení vrcholu: triangle collapse vertex split

Elementární operace IV odstranění vrcholu vs. přidání vrcholu: retriangulace vzniklého polygonu vertex removal vertex add

Kolapse buněk síť buněk: všechny vrcholy ve stejné buňce kolabují do jednoho (ve středu buňky) + indukované topologické změny cell collapse

Generování LoD shora dolů (top-down) základem je nejjednodušší reprezentace, přidávají se detaily méně častý přístup (subdivision surfaces..) zdola nahoru (bottom-up) začíná se s detailní reprezentací postupné zjednodušování (redukce dat) různé typy optimalizace „nejhezčí” reprezentace při daném počtu polygonů globální optimalizace je NP-úplná

Optimalizace při generování LoD bez optimalizace (např. u kolapse buněk) hladové přístupy („greedy”) kriteriální funkce – chybová metrika vždy se uvažují všechny možnosti, jak provést zjednošující krok (hodně výpočtů metriky) líné vyhodnocování metriky („lazy evaluation”) hladový přístup s redukovaným počítáním po lokální změně se okolí označí jako „špinavé” („dirty”), ale zatím se pro něj metrika nepřepočítává.. výsledky mohou být o něco méně kvalitní (ale rychlejší)

Optimalizace při generování LoD odhad metriky („estimation”) místo přesné hodnoty použiji rychlejší odhad možnost kombinace s líným vyhodnocováním, tři stavy:  špinavý (nepřepočítáno)  odhad (přibližná hodnota)  přesná hodnota nezávislé zjednodušování vybírám sadu elementárních operací, které spolu nekolidují, tj. mohu je provést současně hierarchie – logaritmický počet úrovní (předchozí přístupy pracují lineárně)

Chybové metriky založené jen na 3D geometrii neuvažují se: směr pohledu, parametry projekce založené na projekci (výsledku – „target driven”) efektivnější – přímo záleží na vizuální chybě výsledku obrysy jsou důležitější změny při mapování kontrastní textury jsou důležité chyba atributu barva (často se nevhodně průměruje) normálový vektor (má vliv na stínování) mapování textury

Konkrétní metriky I vzdálenost vrchol – vrchol pro kolapsi buněk jinak lze použít jako odhad složitějších metrik vzdálenost vrchol – rovina d = p · v = n x v x + n y v y + n z v z + D „supporting planes”: roviny všech stěn incidentních s daným vrcholem kolaps hrany: zdroje rovin jsou oba původní vrcholy maximum přes všechny supporting planes: Err = max (p · v) 2

Konkrétní metriky II chybová kvadrika (Garland, Heckbert) Err = Σ (p · v) 2 = Σ v T Q p v = v T Q all v Q p je symetrická matice 4  4 s 10 různými hodnotami spočítaná podle roviny p kvadriky (matice) různých rovin lze sčítat (Q all ) vzdálenost vrchol – plocha složitý výpočet, může být nahrazen vzorkováním plochy vzdálenost plocha – plocha různé přístupy: geometrie, textura, obalové objemy,..

Konstantní snímková frekvence To do...

Spojité LoD nezávisle v letech : Xia & Varshney, Hoppe, Luebke & Erikson To do...

Terén – zemský povrch velmi rozsáhlá data USGS (U.S. Gelogical Survey): 1km síť – 2 miliardy trojúhelníků pro celou Zemi jiné systémy: i 30m nebo 15m rozlišení! pravidelná topologie používá se nejčastěji (jednoduchost implementace) čtvercová nebo obdélníková mřížka výjimečně hexagonální mřížka (rovnostranné trojúhelníky) nepravidelná síť trojúhelníků (TIN)

Quadtree rekurzivní dělení pravidelné mřížky 4-cestný (quadtree) nebo 2-cestný (bintree) strom Quadtree:

Bintree oblasti jsou pravoúhlé rovnoramenné trojúhelníky stejně jako Quadtree obsahuje T-vrcholy

Praskliny a T-vrcholy jsou způsobené rozdílným dělením sousedů prasklinu lze eliminovat posunutím vrcholu do středu sousední hrany T-vrchol může pořád vadit (interpolace barvy..): rekurzivní indukované dělení sousedů

Lindstrom 1996 algoritmus založený na bintree zjednodušování nejjemnějšího terénu (triangle-split) metrika: průmět posunutí vrcholu do obrazovky (1pix) T-vrcholy se eliminují indukovaným dělením kompaktní reprezentace: 32 bitů na vrchol (h, δ, flags) posunutí vrcholu δ

ROAM algoritmus (Duchaineau 1997) založený opět na bintree spojují a rozdělují se sousední trojúhelníky se společnou přeponou dynamické zjednodušování a zjemňování (screen err) prioritní fronta potenciálních spojení prioritní fronta potenciálních rozdělení Split Merge

Lindstrom a Pascucci 2001 jednoduchý přístup nezávislý na metrice postavený nad pravidelnou čtvercovou sítí (Digital Elevation Model) hierarchický systém – rodičovský uzel je zaveden před jeho potomky (eliminace prasklin)

Point sprites bod se kreslí pomocí malé textury (sprite) využití průhlednosti GL_POINT_SPRITE_NV aplikace: částicové systémy textura se mapuje na malý čtverec rovnoběžný s průmětnou stále se může používat poloměr bodu speciální texturovací souřadnice r [s,t,r] (viz COORD_REPLACE_NV)

Billboards „Billboard” – poloprůhledná textura s obrázkem složitějšího objektu textura mapovaná na čtyřúhelník často se orientuje kolmo na směr pohledu otáčení za pozorovatelem: vlastní transformační matice otáčení jenom kolem svislé osy (nepěkný pohled shora) použití: stromy a keře (i neorientované billboardy a multi- billboardy) složitější nápisy, 2D grafika, HUD, lens flare,..

Imposters „Imposter” – billboard vytvářený za běhu programu cache složitější scenérie (dynamika) geometricky nebo barevně složitý objekt nebo skupina objektů používá se hlavně pro vzdálené objekty hierarchie, LoD, více instancí stejného objektu technika: HW musí být schopen efektivně kreslit do textury (pbuffer) stromy a keře impostery mohou být orientovány podle větších větví..

Literatura Tomas Akenine-Möller, Eric Haines: Real-time rendering, 2 nd edition, A K Peters, 2002, ISBN: D. Luebke, M. Reddy, J. D. Cohen, A. Varshney, B. Watson, R. Huebner : Level of Detail for 3D Graphics, Morgan Kaufmann, 2002, ISBN : J. Žára, B. Beneš, J. Sochor, P. Felkel: Moderní počítačová grafika, 2. vydání, Computer Press, 2005, ISBN: (Dave Eberly)