29
Realt Realt à à Virtuale: il presente, il passato, il futuro Virtuale: il presente, il passato, il futuro Modellazione procedurale Modellazione procedurale Tecniche di semplificazione Tecniche di semplificazione Agiscono sulla complessit Agiscono sulla complessit à à del modello del modello Si basano sull Si basano sull idea che, in particolari circostanze, idea che, in particolari circostanze, è è possibile possibile visualizzare modelli visualizzare modelli semplificati semplificati senza che il risultato senza che il risultato finale sia apprezzabilmente modificato finale sia apprezzabilmente modificato Generalmente, comunque, c Generalmente, comunque, c ’è ’è una perdita di dettaglio: una perdita di dettaglio: tecniche non conservative. tecniche non conservative. Tecniche di semplificazione: Tecniche di semplificazione: Tecniche di Tecniche di Level Level of of Detail Detail Tecniche di Tecniche di Image Image Based Based Rendering Rendering

Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

Tecniche di semplificazioneTecniche di semplificazione

�� Agiscono sulla complessitAgiscono sulla complessitàà del modellodel modello

�� Si basano sullSi basano sull’’idea che, in particolari circostanze, idea che, in particolari circostanze, èè possibile possibile visualizzare modelli visualizzare modelli ““semplificatisemplificati”” senza che il risultato senza che il risultato finale sia apprezzabilmente modificatofinale sia apprezzabilmente modificato

�� Generalmente, comunque, cGeneralmente, comunque, c’è’è una perdita di dettaglio: una perdita di dettaglio: tecniche non conservative.tecniche non conservative.

�� Tecniche di semplificazione:Tecniche di semplificazione:

�� Tecniche di Tecniche di LevelLevel of of DetailDetail

�� Tecniche di Tecniche di ImageImage BasedBased RenderingRendering

Page 2: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

SemplificazioneSemplificazione

��MeshMesh di triangolidi triangoli

��MeshMesh ⇒⇒ Approssima una superficieApprossima una superficie

�� QualitQualitàà approssimazione approssimazione ∝∝ Numero di Numero di triangolitriangoli

�� Obiettivo ideale: fissato un numero di Obiettivo ideale: fissato un numero di triangoli semplificare la triangoli semplificare la meshmesh in modo da in modo da commettere il minimo errore possibilecommettere il minimo errore possibile

�� Si tratta di un task Si tratta di un task ““pesantepesante”” (effettuato (effettuato offoff--line)line)

Page 3: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

��Metodi Incrementali: Metodi Incrementali:

��Il processo di semplificazione Il processo di semplificazione èè costituito costituito da una sequenza di da una sequenza di ““locallocal updatesupdates””

��Dimensioni della Dimensioni della meshmesh e precisione e precisione delldell’’approssimazione si riducono approssimazione si riducono monotonicamentemonotonicamente nel corso della nel corso della semplificazionesemplificazione

Semplificazione Semplificazione –– Metodi IncrementaliMetodi Incrementali

Page 4: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

��LocalLocal updateupdate actionsactions::

��VertexVertex RemovalRemoval

��EdgeEdge CollapseCollapse

��PreservePreserve locationlocation

��New locationNew location

Semplificazione Semplificazione -- Metodi IncrementaliMetodi Incrementali

Page 5: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� Operano solo sui verticiOperano solo sui vertici

�� Ciascun vertice Ciascun vertice èè classificato come classificato come eliminabile (se la sua rimozione introduce un eliminabile (se la sua rimozione introduce un errore < errore < epseps) o no) o no

�� Struttura comune di questa classe di Struttura comune di questa classe di algoritmi:algoritmi:�� Costruisci lCostruisci l’’insieme dei vertici eliminabili (E)insieme dei vertici eliminabili (E)

�� LoopLoop��Seleziona un vertice v Seleziona un vertice v ∈∈ EE

��Elimina v e aggiorna la Elimina v e aggiorna la meshmesh

��UntilUntil (dimensione (dimensione meshmesh OK)OK)

Semplificazione Semplificazione -- DecimazioneDecimazione

Page 6: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

��Metodi Metodi computazionalmentecomputazionalmente meno meno gravosi (gravosi (meshmesh di grandi dimensioni)di grandi dimensioni)

��Minor controllo sullMinor controllo sull’’errore introdottoerrore introdotto

��Minor controllo sulle dimensioni finali Minor controllo sulle dimensioni finali della della meshmesh

��Ottimi per effettuare una prima Ottimi per effettuare una prima semplificazionesemplificazione

Semplificazione Semplificazione –– DecimazioneDecimazione

Page 7: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

Semplificazione Semplificazione –– EsempioEsempio

2 Milioni di triangoli 7500 triangoli

E’ possibile recuperare in qualche modo il dettaglio visuale perso con la semplificazione?

Page 8: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� AlgoritmoAlgoritmo::�� Produce Produce unauna mesh lomesh lo--resres ((~10K ~10K

polygons)polygons)

�� ParametrizzaParametrizza la la lolo--resres meshmesh susuunauna superficiesuperficie 2D, in 2D, in modomodo dadasfruttaresfruttare ilil texture mappingtexture mapping

�� CampionaCampiona la hila hi--res mesh res mesh ottenendoottenendo unauna normalenormale per per ogniogni pixelpixel

�� La La normal mapnormal map èè usatausata per per effettuareeffettuare ilil rendering rendering susutexture con texture con modellimodelli avanzatiavanzati didiilluminazioneilluminazione

RecuperoRecupero del del dettagliodettaglio

Page 9: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� Advanced lighting:Advanced lighting:�� Le Le condizionicondizioni didi illuminazioneilluminazione

del VE del VE circostantecircostante sonosonocampionatecampionate in in unaunaenvironmental mapenvironmental map

�� VieneViene calcolatacalcolata unauna selfself--occlusion map del occlusion map del modellomodello

�� TutteTutte questequeste informazioniinformazioni sonosonocominatecominate in in modomodo dada ottenereottenereunauna singolasingola texture maptexture map

��NotaNota: : questoquesto èè un un possibilepossibilealgoritmoalgoritmo didi illuminazioneilluminazione

RecuperoRecupero del del dettagliodettaglio

Page 10: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

Simplification & DetailRecovering

Rendering on texture

Image Based Lightingwith self-occlusion

evaluation

RecuperoRecupero del del dettagliodettaglio

Page 11: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

RecuperoRecupero del del dettagliodettaglio

Page 12: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

LevelLevel of of DetailDetail

�� Oggetti lontani dal punto di vista non necessitano di Oggetti lontani dal punto di vista non necessitano di rappresentazione particolareggiata: i piccoli dettagli a rappresentazione particolareggiata: i piccoli dettagli a grande distanza sono indistinguibiligrande distanza sono indistinguibili

�� Possono dunque essere semplificati a seconda della loro Possono dunque essere semplificati a seconda della loro distanza e/o angolazione dalldistanza e/o angolazione dall’’osservatoreosservatore

�� Il LOD consiste nella creazione di piIl LOD consiste nella creazione di piùù alternative per la alternative per la stessa stessa meshmesh con grado decrescente di complessitcon grado decrescente di complessitàà

�� Maggiore Maggiore èè la distanza, minore la distanza, minore èè il dettaglio richiestoil dettaglio richiesto

Page 13: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

LevelLevel of of DetailDetail

�� I LOD possono essere creati:I LOD possono essere creati:

�� OffOff--lineline (controllo sulla qualit(controllo sulla qualitàà, complessit, complessitàà prefissata)prefissata)

�� A A RunRun--timetime (minor controllo qualitativo, complessit(minor controllo qualitativo, complessitàà variabile)variabile)

�� Esempio Esempio runrun--timetime: : meshmesh progressiveprogressive

�� LodLod dinamicidinamici

�� Si memorizzano solo i Si memorizzano solo i ∆∆∆∆∆∆∆∆ fra le rappresentazioni successivefra le rappresentazioni successive

�� Ottimo per distribuzione in reteOttimo per distribuzione in rete

Page 14: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImageImage BasedBased RenderingRendering

�� Tecniche di Tecniche di cullingculling e di LOD basate sulla riduzione dei e di LOD basate sulla riduzione dei poligonipoligoni

�� IBR basato sulla IBR basato sulla sostituzionesostituzione di poligoni con immagini di poligoni con immagini (solitamente (solitamente texturetexture))

�� IBR tende a rendere il IBR tende a rendere il renderingrendering time indipendente dalla time indipendente dalla complessitcomplessitàà della scenadella scena

�� Molto efficace se usato insieme alle tecniche di Molto efficace se usato insieme alle tecniche di cullingculling e di e di LODLOD

�� Metodi:Metodi:

�� Statici (Database Statici (Database ApproachApproach, , SpritesSprites))

�� DinamiciDinamici

Page 15: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

Database Database ApproachApproach

�� Idea di base:Idea di base:si si renderizzanorenderizzano tutte le possibili viste di un oggetto e, tutte le possibili viste di un oggetto e, dinamicadinamica--mente, si sceglie quella corrispondente al punto di mente, si sceglie quella corrispondente al punto di vista attualevista attuale

�� Nella pratica si sceglie un numero limitato di punti di vista. PNella pratica si sceglie un numero limitato di punti di vista. Per le er le

viste intermedie:viste intermedie:

�� Si visualizza lSi visualizza l’’immagine corrispondenteimmagine corrispondente

al punto di vista pial punto di vista piùù vicinovicino

�� Si effettua unSi effettua un’’interpolazione (interpolazione (morphingmorphing) ) tra le immaginitra le immagini

Page 16: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

BillboardsBillboards

�� Oggetti anche molto complessi vengono sostituiti da semplici Oggetti anche molto complessi vengono sostituiti da semplici geometrie geometrie texturizzatetexturizzate

�� Caso limite: un solo poligono Caso limite: un solo poligono texturizzatotexturizzato

�� La geometria viene trasformata La geometria viene trasformata affinchaffinchèè, , frameframe per per frameframe, sia , sia sempre rivolta verso il punto di vistasempre rivolta verso il punto di vista

�� La trasformazione La trasformazione èè solitamente una solitamente una rotazione verso lrotazione verso l’’osservatoreosservatore

�� Per oggetti a simmetria cilindrica o Per oggetti a simmetria cilindrica o sferica sferica èè una buona approssimazione una buona approssimazione

�� Simmetria:Simmetria:

�� Cilindrica: rotazione assiale, Cilindrica: rotazione assiale, θθ = = arccosarccos((VVdd••BBnn))

�� Sferica: due assi di rotazioneSferica: due assi di rotazione

Page 17: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

Billboard:sBillboard:s lens flarelens flare

+

�� Effetto causato da una lente di una camera (reale) diretta Effetto causato da una lente di una camera (reale) diretta verso una sorgente di luceverso una sorgente di luce

�� Modellabile come billboard sovrapposto alla geometria.Modellabile come billboard sovrapposto alla geometria.

�� Possibile modulare le dimensioni e la trasparenza in funzione Possibile modulare le dimensioni e la trasparenza in funzione della distanzadella distanza

Page 18: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� Il MT non Il MT non èè IBR in senso stretto, ma permette di simulare, con IBR in senso stretto, ma permette di simulare, con ll’’uso di piuso di piùù texturetexture, non solo dettagli geometrici ma anche , non solo dettagli geometrici ma anche dettagli relativi a dettagli relativi a shadingshading e rugosite rugositàà..

Final ImageLight VectorBump MapBase Texture

�� Evidentemente le mappe simulano effetti Evidentemente le mappe simulano effetti staticistatici. Se, ad esempio, la . Se, ad esempio, la

sorgente luminosa si muove, la sorgente luminosa si muove, la lightinglighting--mapmap deve essere generata on deve essere generata on

demanddemand o modificata o modificata algoritmicamentealgoritmicamente..

MultiTexturingMultiTexturing

Page 19: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� MultiMulti--passpass renderingrenderingLe vecchie architetture grafiche supportavano solo UN livello Le vecchie architetture grafiche supportavano solo UN livello di di texturetexture (quello di diffuse). Per ottenere risultati (quello di diffuse). Per ottenere risultati equivalenti bisognava equivalenti bisognava renderizzarerenderizzare pipiùù volte lvolte l’’oggetto con oggetto con texturetexture diverse e comporre il risultato con varie opzioni di diverse e comporre il risultato con varie opzioni di blendingblending..

�� MultiMulti--texturingtexturingLe attuali architetture supportano Le attuali architetture supportano direttamente direttamente PIUPIU’’ livelli di livelli di texturetexture. . EE’’ possibile sovrapporre mappe di possibile sovrapporre mappe di diffuse, riflessione, autodiffuse, riflessione, auto--illuminaillumina--zionezione, , bumpbump, , shadowsshadows etc.etc.

MultiTexturingMultiTexturing

Page 20: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

MultiTexturingMultiTexturing Geforce3Geforce3

Page 21: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori

�� Sfruttano la Sfruttano la frameframe--toto--frameframe coherencecoherence

�� Il costo del Il costo del renderingrendering della geometria, ripartendo della geometria, ripartendo da zero ad ogni da zero ad ogni frameframe, , èè altoalto

�� Se non ci sono improvvisi cambi di punto di vista, ogni Se non ci sono improvvisi cambi di punto di vista, ogni frameframe èèmolto simile al precedentemolto simile al precedente

�� Pertanto ampie porzioni dello schermo restano invariate Pertanto ampie porzioni dello schermo restano invariate rispetto al rispetto al frameframe precedente: perchprecedente: perchèè non riutilizzare non riutilizzare direttamente tali porzioni?direttamente tali porzioni?

�� Le immagini Le immagini rasterizzaterasterizzate di alcuni oggetti (preferibilmente di alcuni oggetti (preferibilmente distanti) possono essere utilizzate nuovamente nei distanti) possono essere utilizzate nuovamente nei frameframesuccessivi come successivi come texturetexture da applicare su poligoni da applicare su poligoni semitrasparentisemitrasparenti

Page 22: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori e LODe LOD

�� IMPOSTORI:IMPOSTORI:

Poligoni semitrasparenti su cui si mappa lPoligoni semitrasparenti su cui si mappa l’’immagine opaca immagine opaca

di un oggettodi un oggetto

�� Possono essere considerati unPossono essere considerati un’’estensione di concetto di LOD:estensione di concetto di LOD:

““IMPOSTORE=UnIMPOSTORE=Un’’entitentitàà che che èè pipiùù veloce da disegnare dellveloce da disegnare dell’’oggetto oggetto reale, ma che ne mantiene le principali caratteristiche visualireale, ma che ne mantiene le principali caratteristiche visuali””

�� LOD: Impostore LOD: Impostore viewview--independentindependent

�� IMPOSTORE: IMPOSTORE: viewview--dependentdependent

(L(L’’immagine cambia a seconda del punto di vista)immagine cambia a seconda del punto di vista)

Page 23: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori: view: view--dependentdependent

�� LL’’immagine utilizzata per limmagine utilizzata per l’’impostore impostore èè una fedele rappresentazione una fedele rappresentazione

delldell’’oggetto SOLO da un certo punto di vista V.oggetto SOLO da un certo punto di vista V.

�� Se si cambia punto di vista, lSe si cambia punto di vista, l’’immagine immagine èè tanto pitanto piùù diversa quanto pidiversa quanto piùù ci ci

si allontana da Vsi allontana da V

�� In un certo intorno di V lIn un certo intorno di V l’’immagine resta una buona approssimazione immagine resta una buona approssimazione

delldell’’oggettooggetto

�� Al di fuori di tale intorno bisogna Al di fuori di tale intorno bisogna renderizzarerenderizzare ll’’oggetto vero e proprio oggetto vero e proprio

o un nuovo impostoreo un nuovo impostore

�� Come si creano gli impostori?Come si creano gli impostori?

�� OffOff--lineline (staticamente (staticamente →→→→→→→→ simile al Database simile al Database ApproachApproach. Differenza: DB . Differenza: DB

approachapproach solo per oggetti noti a priori)solo per oggetti noti a priori)

�� OnOn--lineline (dinamicamente (dinamicamente →→→→→→→→ overheadoverhead di campionamento)di campionamento)

Page 24: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� Si individua il Si individua il clustercluster (o l(o l’’oggetto) oggetto) da sostituireda sostituire

�� Si Si renderizzarenderizza la sua geometria su la sua geometria su un fondale completamente neroun fondale completamente nero

�� Si crea una Si crea una texturetexture usando usando ll’’immagine campionataimmagine campionata

�� Si applica la Si applica la texturetexture su un su un quadrilatero mostrato al posto quadrilatero mostrato al posto della geometria del della geometria del clustercluster

ImpostoriImpostori: : creazionecreazione

Page 25: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori onon--lineline

�� Le tecniche offLe tecniche off--line sono unline sono un’’estremizzazione del LODestremizzazione del LOD

�� Vantaggio: la creazione degli impostori non appesantisce la faseVantaggio: la creazione degli impostori non appesantisce la fase di di runrun--timetime

�� Svantaggio: non sfruttano affatto la Svantaggio: non sfruttano affatto la frameframe--toto--frameframe coherencecoherence

�� Gli Gli impostori generati dinamicamenteimpostori generati dinamicamente vengono creati durante la fase di vengono creati durante la fase di

runrun--timetime

�� Una volta generato, lUna volta generato, l’’impostore viene impostore viene

riutilizzato fintanto che la differenza riutilizzato fintanto che la differenza

con lcon l’’oggetto reale non eccede una sogliaoggetto reale non eccede una soglia

�� Necessarie metriche per studiare la validitNecessarie metriche per studiare la validitàà

di un impostoredi un impostore

�� Utilizzabili per oggetti, per Utilizzabili per oggetti, per clustercluster

o per intere celleo per intere celle

Page 26: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� LL’’impostore impostore èè banalmente valido nel banalmente valido nel frameframe in cui viene generatoin cui viene generato

�� LL’’impostore resta SEMPRE valido se limpostore resta SEMPRE valido se l’’osservatore compie movimenti di osservatore compie movimenti di

SOLA rotazione (si dimostra che la proiezione sul viewplane restSOLA rotazione (si dimostra che la proiezione sul viewplane resta a

invariata)invariata)

�� Se si effettuano movimenti di traslazione, la rappresentazione cSe si effettuano movimenti di traslazione, la rappresentazione cambia. ambia.

Oltre un certo Oltre un certo ∆∆∆∆∆∆∆∆ss laterale o in avanti, llaterale o in avanti, l’’errore diventa troppo grossoerrore diventa troppo grosso

�� EE’’ possibile trovare una relazione possibile trovare una relazione

tra lo spostamento tra lo spostamento ∆∆∆∆∆∆∆∆ss e le l’’errore in errore in

termini di pixel, e ricavare il termini di pixel, e ricavare il ∆∆∆∆∆∆∆∆sMAXsMAX

corrispondente alla soglia fissatacorrispondente alla soglia fissata

�� Se lSe l’’errore eccede la soglia, errore eccede la soglia, èè necessarianecessaria

la creazione di un nuovo impostorela creazione di un nuovo impostore

ImpostoriImpostori: : metricametrica didi validitvaliditàà

Page 27: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori: : errorierrori visualivisuali

�� Un problema nellUn problema nell’’uso degli impostori uso degli impostori

èè legato ai possibili errori relativi alla legato ai possibili errori relativi alla

compenetrazione degli oggetticompenetrazione degli oggetti

�� LL’’errore avviene a causa della perditaerrore avviene a causa della perdita

della tridimensionalitdella tridimensionalitàà degli oggettidegli oggetti

Page 28: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

ImpostoriImpostori: : errorierrori visualivisuali

�� Un altro problema Un altro problema èè la la

visualizzazione di possibili visualizzazione di possibili

““crackcrack”” nellnell’’immagineimmagine

�� A causa dello spostamento A causa dello spostamento

del punto di vistadel punto di vista

�� A causa delle A causa delle

approssimazioni nei calcoliapprossimazioni nei calcoli

�� A causa di una soglia di A causa di una soglia di

errore superiore a 1 pixelerrore superiore a 1 pixel

�� DEMODEMO

Page 29: Tecniche di semplificazione - percro.sssup.itpercro.sssup.it/marcello/didattica/AA2007/16b_IBR.pdf · Algoritmo : Produce una mesh lo -res (~10K polygons) Parametrizza la lo -res

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione proceduraleModellazione procedurale

�� Per recuperare almeno parzialmente le informazioni relative allaPer recuperare almeno parzialmente le informazioni relative alla

tridimensionalittridimensionalitàà si possono usare pisi possono usare piùù strati per lo stesso impostorestrati per lo stesso impostore

�� Si immagina di Si immagina di ““affettareaffettare”” ll’’oggetto e di realizzare un impostore per oggetto e di realizzare un impostore per

ogni ogni ““fettafetta””. Pi. Piùù sono le fette, migliore sono le fette, migliore èè ll’’approssimazione.approssimazione.

�� La tridimensionalitLa tridimensionalitàà recuperatarecuperata

diminuisce i problemi di diminuisce i problemi di compecompe--

netrazionenetrazione

�� Se gli intervalli sono Se gli intervalli sono leggermenleggermen--

te sovrapposti, migliora anchete sovrapposti, migliora anche

la situazione rispetto ai crackla situazione rispetto ai crack

�� TradeTrade--offoff: maggiore richiesta: maggiore richiesta

di di texturetexture memorymemory

ImpostoriImpostori stratificatistratificati