1.16k likes | 1.34k Views
Nivoji podrobnosti. Level of Detail (LOD). Problem s podrobnostmi. Gra fični sistemi so preplavljeni s podatki o modelih Zelo podrobne podatkovne baze CAD Zelo natančna skeniranja ploskev Viri, ki so na voljo, so omejeni CP E , prostor , hitrost grafike , Pasovna širina omrežja
E N D
Nivoji podrobnosti Level of Detail (LOD)
Problem s podrobnostmi • Grafični sistemi so preplavljeni s podatki o modelih • Zelo podrobne podatkovne baze CAD • Zelo natančna skeniranja ploskev • Viri, ki so na voljo, so omejeni • CPE, prostor, hitrost grafike, Pasovna širina omrežja • Potrebujemo bolj ekonomične modele • Želimo najmanjši nivo podrobnosti (level of detail, LOD), ki še zadošča
LOD in interaktivnost • Nivo podrobnosti (LOD) je pomembna tehnika za zagotavljanje interaktivnosti • Kompromis med vernostjo in učinkovitostjo • Ni edina tehnikal! Je komplement: • Vzporednem upodabljanju • Izločanju zakritih stvari • Upodabljanju na nivoju slike (image-based rendering) • itd...
Omejitve vida • Ostrina vida • Resolucija mrežnice, število fotoreceptorjev • Stransko gledanje • Največja občutljivost 4-5 stopinj od sredine pogleda • Do 35 kratna redukcija na rovu vidnega stožca • Občutljivost ob premikanju • Oko je manj občutljivo na podrobnosti, katerih slike prečkajo mrežnico • Hitro premikajoči se predmeti postanejo “zamegljeni”
Študijski primer slike Vermeer “Officer and Laughing Girl”, 1658-60 120 x 135 degrees FOV Ni meglitve zaradi ekscentričnosti Ni meglitve zaradi hitrosti
Študijski primer slike Vermeer “Officer and Laughing Girl”, 1658-60 120 x 135 degrees FOV Meglitev zaradi excentričnosti Ni meglitve zaradi hitrosti
Študijski primer slike Vermeer “Officer and Laughing Girl”, 1658-60 120 x 135 degrees FOV Meglitev zaradi ekscentričnosti Hitrost = 60 deg/s
Modeliranje omejitev vida Contrast Sensitivity Function CSF definira pasovno širino vida
Faktorji CSF(Contrast Sensitivity Function) • Osvetlitev ozadja • V temnem okolju se slabša občutljivost na kontrast • Nastavitve prikazovalnika • Svetlost, kontrast, barve in gamma • Opazovalčevo prilagajanje na osvetljenost • Širjenje zenice in občutljivost fotoreceptorjev • Opazovalčeva učinkovitost vizualnega sistema • na primer: kratkovidnost povzroča konvergenco svetlobe pred mrežnico • Starost opazovalca • Občutljivost na kontrast je manjša pri otrocih in se slabša s starostjo • Čustveno stanje opazovalca • Povzroča širjenje zenice: ožja zenica = manj svetlobe = upad ostrine vida • Slušna stimulacija? • Zvočni signali vplivajo na vidno zaznavanje Zato običajno predpostavljamo “standardnega opazovalca” in idealne pogoje gledanja.
LOD: osnovna zamisel • Problem: • Geometrijski podatki so preveč kompleksni, da bi jih lahko upodobili zadovoljivo hitro za interaktivno delo • Rešitev: • Poenostavimo geometrijo poligonov za majhne in oddaljene predmete • To poznamo kot Level of DetailoziromaLOD • Poenostavitev poligonov, poenostavitev geometrije, multiresolucijsko modeliranje,.. 69,451 poligonov 2,502 poligonov 251 poligonov 76 poligonov
LOD: Vprašanja Kako predstaviti in generirati bolj preproste verzije kompleksnega modela? Kako oceniti verodostojnost poenostavljenih modelov? Kdaj uporabiti kateri LOD predmeta? Oddaljeni predmeti - bolj grob nivo podrobnosti
LOD in oddaljenost d1 d2 • Resolucijo izberemo glede na razdaljo med glediščem in predmetom. Na večjih razdaljah imamo lahko bolj grobo geometrijo. • Enostavno računanje (3-D evklidska razdalja) • Odvisno od merila • Odvisno od resolucije • Odvisno od pogleda
Velikost in LOD • Resolucijo izberemo glede na velikost projekcije predmeta na zaslonu. Predmeti, ki se oddaljujejo, postajajo manjši. • Zahteva projekcijo 3-D 2-D • Neodvisno od merila • Neodvisno od resolucije • Neodvisno od pogleda • Za bolj učinkovito računanje obsega projekcije se namesto kvadrov pogosto uporabljajo obsegajoče krogle ali elipse.
Ekscentričnost in LOD • Resolucijo izberemo glede na kot, kje v našem vidnem polju obstaja predmet. • Ljudje na robu vidnega polja ne vidimo vseh podrobnosti oziroma vidimo predmete bolj zamegljeno. • Predpostavimo, da uporabnik gleda v središče zaslona.
Hitrost in LOD • Resolucijo izberemo glede na kotno hitrost, s katero predmet prečka naše vidno polje. Hitrejši predmeti imajo lahko slabšo resolucijo. • Ljudje vidimo predmete, ki hitro prečkajo naše vidno polje ali se hitro vrtijo, bolj zamegljeno. 1 deg/s 20 deg/s
Globina polja in LOD • Resolucija je odvisna od fokusiranja globine. Predmeti izven področja fokusa so lahko z manj podrobnostmi. • Ljudje vidimo predmete pred in za področjem fokusa bolj zamegljeno.
Povzetek • Primarni kriteriji izbora LOD • Razdalja ali velikost • Hitrost • Ekscentričnost • Globina polja • Dodatne omejitve LOD • Razvrščevalniki s konstantno hitrostjo (reaktivni ali prediktivni) • Histereza (zakasnitev preklapljanja) • Prednostne sheme • Prehodi z mešanjem (fading regions) • Prehodi geometrije (morph geometry)
Statična resolucija ne zadošča • Model uporabljamo v različnih kontekstih • Različni računalniki, spremenljive zmožnosti • Velikost projekcijskega zaslona se spreminja • Kontekst diktira potrebne podrobnosti • LOD moramo spreminjati s kontekstom • Kontekst se s časom spreminja • Kakšen nivo koherence? • Visoka koherenca v pogledu • Lahko nizka koherenca pri nalaganju
Potrebujemo večresolucijske modele(Multiresolution Models) • Kodiramo veliko nivojev podrobnosti • V času izvajanja izberemo primerne približke • To naj bi terjalo nizko režijo (overhead) • Prostor, ki ga terja predstavitev • Cena spreminjanja nivoja podrobnosti med upodabljanjem • Lahko imamo proces poenostavljanja • Dober primer so piramide slik (Image pyramids, mip-maps) • Zelo uspešna tehnika za rasterske slike
Zgradba LOD • Diskretni LOD • Za vsak objekt tvorimo skupino nivojev podrobnosti • Zvezni LOD (continuous LOD, CLOD) • Za vsak objekt tvorimo podatkovno strukturo, iz katere lahko izvlečemo spekter podrobnosti • LOD, odvisen od pogleda • Tvorimo podatkovno strukturo, iz katere lahko hitro izvlečemo LOD glede na parametre gledanja. • En objekt lahko obsega več nivojev podrobnosti • Hierarhični LOD • Objekte združujemo v zbirke z njim lastnimi nivoji podrobnosti
Diskretni večresolucijski modeli • Za dani model tvorimo skupino aproksimacij • Tvori jih katerikoli sistem poenostavljanja • V času izvajanja enostavno enega izberemo za upodabljanje • Kriterij izbire je oddaljenost objekta od gledišča • Za vsak približek zato določimo “območje” uporabe • Ker aproksimacije pripravimo “off line”, je to diskretni LOD • Preklapljanje med sličicami povzroča “pokanje” • Prehode lahko mehčamo z mešanjem slik • Uporabimo lahko tudi mešanje geometrij • Več programskih paketov to podpira
Diskretni LOD:Prednosti • Najbolj enostaven način poenostavljanja; to je ločeno od upodabljanja • Tvorba LOD nima omejitev realnega časa • V času izvajanja le izberemo ustrezninivo podrobnosti (LOD) • Dobra podpora s sodobno grafično opremo • Vsak LOD lahko prevedemo v trakove trikotnikov, prikazovalne sezname, polja verteksov,..
Diskretni LOD:Slabosti • Hitrost upodabljanja sličic (framerate) ni konstantna (veliko objektov upočasni upodabljanje) • Nekdo mora ročno določiti razdalje preklapljanja • Pravilne razdalje preklapljanja se s pogledom in resolucijo lahko spreminjajo • Včasih so diskretni LOD neprimerni za drastično poenostavljanje, na primer: • Prelet pokrajin • Volumetrične izo-površine • Skeniranje z veliko podrobnostmi • Obsežni CAD modeli
Omejitve diskretnih modelov • Morda bomo morali LOD vzdolž ene površine spreminjati • Obsežne ploskve, poševni pogledi (na primer na pokrajino) • V bližini gledalca so potrebne podrobnosti • Predeli v oddaljenosti so lahko podani bolj grobo • En sam LOD bi bil neprimeren • Nepotrebna potrata preveč podrobnosti v daljavi • Ali premalo podrobnosti v bližini gledišča • Ne izkoriščamo razpoložljive koherence • Majhna sprememba gledišča lahko povzroči velike spremembe modela
Poenostavljanje • Drastično poenostavljanje: • Velike objekte razdelimo • Majhne objekte združujemo • To je težko, če že ne nemogoče pri diskretnih nivojih podrobnosti
Izbira LODohranjanje konstantnega “frame rate” • Rešitev: Razdalje preklapljanja LOD utežimo • Uporabimo povratni mehanizem: • Če postane hitrost upodabljanja prepočasna, zmanjšamo utež • Pri preveliki hitrosti upodabljanja utež povečamo • Nevarnost: • Preveč agresiven povratni mehanizem povzroči oscilacije • Nenadna sprememba v računanju upodabljanja še vedno lahko povzroči dolge čase • Boljša (in težja) rešitev: prediktivna izbira LOD • Za vsak LOD ocenimo: • Ceno(čas upodabljanja) : število poligonov, resolucijo, teksture • Kaj dobimo(pomembnost slike) natančnost, hitrost objektov, ekscentričnost
Zvezni nivo podrobnosti • Izhajamo iz tradicionalnega pristopa: • DiskretniLOD: predprocesirana priprava posameznih nivojev podrobnosti • Zvezni LOD: Tvorimo podatkovno strukturo, iz katere lahko v času izvajanja dobimo želeni nivo podrobnosti.
Zvezni LOD:prednosti • Boljša zrnatost boljša vernost • LOD je točno definiran, ne pa izbran iz vnaprej pripravljenih opcij • Zato uporabljajo objekti le toliko poligonov, kolikor je potrebno, to sprosti poligone za druge objekte • In rezultat: boljša izraba virov,boljša vernost/poligon • Boljša zrnatostmehkejši prehodi • Preklapljanje med tradicionalnimi nivoji podrobnosti lahko privede do efekta “pokanja” • Zvezni LOD naravnava podrobnosti korakoma, inkrementalno • Podpora progresivnim prehodom • Progressive Meshes [Hoppe 97] • Progressive Forest Split Compression [Taubin 98] • Vodi v LOD, odvisen od pogleda • Parametre gledanja uporabimo za izbiro najboljše predstavitve • Posamezni pogledi se lahko razprostirajo preko več nivojev podrobnosti
LOD, odvisen od pogleda: Primeri Bližnje dele objekta kažemo z višjo resolucijo, oddaljene bolj grobo Pogled z gledišča Pogled s ptičje perspektive
LOD, odvisen od pogleda: Primeri Obrobna področja predmeta prikazujemo z večjo ločljivostjo kot notranja področja
LOD, odvisen od pogleda: Primeri Več podrobnosti kažemo tam, kjer je usmerjen naš pogled, manj pa na obrobju: 34,321 trikotnikov
LOD, odvisen od pogleda: Primeri Več podrobnosti kažemo tam, kjer je usmerjen naš pogled, manj pa na obrobju: 11,726 trikotnikov
LOD, odvisen od pogleda:Prednosti • Še boljša zrnatost • Alociramo poligone tam, kjer jih najbolj potrebujemo • Dobimo boljšo verodostojnost • Imamo lahko drastično poenostavitev zelo velikih objektov • Primer: model stadiona • Primer: prelet terena
Pretok preko spleta TerraVision (SRI) Yosemite Park San Francisco Bay
Hierarhični LOD • LOD, odvisen od pogleda rešuje problem pri zelo velikih objektih • Hierarhični LODrešuje problem z majhnimi predmeti • Predmete združujemo v sestave (assemblies) • Pri dovolj velikih oddaljenostih poenostavljamo sestave in ne posameznih predmetov • Kako naj to predstavimo v grafu scene?Celotno sceno obravnavamo kot enoten objekt.
Pregled metod poenostavljanja • Ročno (ne avtomatsko) poenostavljanje • Izkušeni designerji dajejo dobre rezultate • To je zelo intenzivno delo, zato je to drago • Avtomatizirane metode • Združevanje verteksov • Redčenje verteksov • iterativno krčenje
Združevanje verteksov • Prostor razdelimo v celice • mreže, krogle, osmiška drevesa, ... • Združujemo vse vertekse znotraj iste celice • Trikotniki z več oglišči v isti celici bodo degenerirani
Zmanjševanje števila verteksov • Začenjamo z originalim modelom, ponavljamo: • Vertekse razvrstimo glede na pomembnost • Izberemo nepomembne vertekse, jih odstranimo, ponovimo triangulacijo • To je pogosta tehnika
Iterativno krčenje robov • Krčenje izvajamo na poljubni množici verteksov • Pogosto uporabljamo robove (oziroma pare verteksov), uporabimo lahko tudi ploskve • Začnemo z originalnim modelom in ponavljamo: • Vse robove po nekem cenovnem kriteriju rezvrstimo • Skrčimo rob, ki “najmanj stane” • Ažuriramo cene robov
Kako skrčimo posamezen rob Krčenje roba (v1,v2) v’izvedemo tako: • Premaknemo v1in v2v pozicijo v’ • Vse nastope v2nadomestimo z v1 • Odstranimo v2in vse degenerirane trikotnike v’ v2 v1
Algoritem rušenja robov Sort all edges (by some metric) repeat Collapse edge choose edge vertex (or compute optimal vertex) Fix-up topology until (no edges left)
Iterativno krčenje robov • Najbolj popularna tehnika • Enostavnejša od odstranjevanja verteksov • Dobro definirana na vseh kompleksnih objektih • Vnaša tudi hierarhijo na ploskvah • Omogoča več-resolucijske aplikacije
Ohranjevanje mej Ohraniti moramo meje, zato robove označimo kot nezveznost. Za vsako stran z nezveznostjo tvrimo ploskev, ki pravokotno seka nezvezni rob. Take ploskve pretvorimo v kvadrike in jih bolj utežimo.