Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La visualizzazione realistica
La simulazione visiva
Negli ultimi venti anni, la simulazione visiva ha avuto un p g progresso impressionante sia per la capacit di rappresentare p p p pp anche in modo dinamico, processi, modelli, etc. sia per il grado elevatissimo di verosimiglianza che ha saputo raggiungere. La verosimiglianza di una immagine sintetica va sotto il nome di fotorealismo.
06/05/2008
Il fotorealismo
Il fotorealismo nella computer grafica la simulazione, riproduzione ed interpretazione di tutti gli stimoli che i nostri sensi percepiscono nell'ambiente che ci circonda. Simulazione in quanto si cerca di riprodurre alcuni comportamenti e caratteristiche del mondo reale col fine di "ingannare" l'occhio umano facendogli credere che ci che sta guardando effettivamente reale; riproduzione in quanto nella ricostruzione del reale vi l'attenzione ad ogni minimo particolare, ottenendo cos un risultato molto l d l l simile ad una fotografia; infine, interpretazione perch nella realizzazione fotorealistica presente lo stile dell'autore, la sua personale interpretazione di ci che vede e quindi un presupposto creativo.
Prof. Maurizio Muzzupappa
Realismo dellimmagine
Realistica unimmagine di sintesi che produce lo p g stesso stimolo visivo prodotto dallimmagine della scena reale, riprodotta sullo stesso supporto, e osservata nelle medesime condizioni.
06/05/2008
Realismo dellimmagine
DalModello3DalModelloRenderizzato
Prof. Maurizio Muzzupappa
Realismo dellimmagine
06/05/2008
I livelli di rendering
Nella sintesi delle immagini da modelli geometrici 3D possibile caratterizzare lespressivit in una scala crescente dal meno al pi iconico, dal meno al pi realistico, dal pi semplice al pi complesso. E possibile organizzare, in livelli crescenti di iconicit, diversi metodi di rappresentazione (dal pi astratto al pi simbolico):
1. 2. 3. 4.
Proiezioni ortogonali o prospettiche di figure Wire Frame Wire-Frame, Hidden Surface Flat Shading o Smooth Shading, Fotorealismo.
Visualizzazione WF
Il primo livello di resa visiva la tecnica detta a fil di ferro con la quale la forma 3D, descritta con un modello geometrico, geometrico viene raffigurata mediante linee di contorno contorno. In questa modalit sono visibili anche le linee che sarebbero in teoria invisibili, in quanto nascoste da facce che dovrebbero essere opache (e non trasparenti).
06/05/2008
06/05/2008
Lo scopo quello di verificare se tale angolo maggiore di 90: in questo caso infatti, la faccia rivolta lontano dallosservatore e pu essere eliminata. Se invece langolo g minore o uguale a 90, la faccia allora visibile e non pu essere scartata.
06/05/2008
06/05/2008
Z-Buffering
L'algoritmo processa singolarmente tutte i i l poligoni visibili presenti nella scena. Per ogni poligono vengono determinati i pixel da essa occupati. ti Per ogni pixel viene calcolata la distanza dall'osservatore.
Prof. Maurizio Muzzupappa
z1
z2
z3
Z-Buffering
Z- buffer
scena vuota I triangolo
Z Z- buffer
dopo il I triangolo
ogni pixel rappresentato con il suo colore mentre il valore della z dato dal numero allinterno del pixel.
Prof. Maurizio Muzzupappa
06/05/2008
Z-Buffering
Z- buffer
scena vuota I triangolo
Z Z- buffer
dopo il I triangolo
Z- buffer
dopo il II triangolo II triangolo
ogni pixel rappresentato con il suo colore mentre il valore della z dato dal numero allinterno del pixel.
Prof. Maurizio Muzzupappa
Z-Buffering
Ogni volta che un nuovo poligono viene processato, per tutti i nuovi pixel occupati da questo, vengono confrontate le distanze calcolate con quelle precedentemente memorizzate nello z-buffer. Se la distanza del nuovo pixel minore del valore presente nello z-buffer, questo sostituisce il punto precedente, i quanto pi vicino all'osservatore. S d in i i i ll' Se invece la distanza maggiore, il nuovo pixel viene scartato in quanto nascosto da quello gi presente sullo schermo.
Prof. Maurizio Muzzupappa
06/05/2008
BFC e Z-buffering
Il procedimento di back-face culling consente in consente, media di dimezzare il tempo necessario a fare il rendering degli oggetti solidi dato che, sempre in media, circa la met delle facce di un poliedro saranno back-facing e quindi il loro rendering sarebbe comunque inutile. Lalgoritmo di BFC e z-buffering sono spesso utilizzati insieme durante il processo di visualizzazione
Prof. Maurizio Muzzupappa
Shading
La determinazione del colore che compete a ciascuna faccia un problema centrale nella simulazione visiva. Per poter mettere i evidenza l singole f tt in id le i l facce, i di id individuare l ombre le b proprie e dare maggiore senso di profondit alla scena, necessario utilizzare un modello di illuminazione, ovvero un modello matematico che descrive, in modo pi o meno semplificato, linterazione tra la luce e gli oggetti della scena.
10
06/05/2008
Shading
Esistono due grandi categorie di modelli di illuminazione: i modelli locali e i modelli globali. I primi descrivono in modo semplificato le caratteristiche delle sorgenti di luce, degli oggetti della scena e della loro reciproca interazione. I secondi considerano in modo molto pi accurato le interazioni che avvengono tra le sorgenti di luce, gli oggetti e la luce riflessa dagli oggetti stessi
La luce e le superfici
La radiazione che incide su un corpo solido pu essere in parte : 1. assorbita; 2. trasmessa attraverso l'oggetto (trasparente); 3. riflessa, sia in modo diffuso che speculare.
11
06/05/2008
La radiazione assorbita
La radiazione assorbita viene trasformata in calore. Dal punto di vista ottico-visivo, se tutta la radiazione incidente fosse assorbita, il corpo non sarebbe visibile, cio si avrebbe a che fare con un "corpo nero". La radiazione assorbita quella che meno ci interessa, anche se utile osservare che i corpi non assorbono in modo uguale su tutte le lunghezze d'onda incidenti.
Prof. Maurizio Muzzupappa
La radiazione assorbita
12
06/05/2008
La radiazione trasmessa
La radiazione incidente pu essere in parte trasmessa dentro il solido quando quest'ultimo quest ultimo trasparente.
La radiazione trasmessa
La Trasparenza
13
06/05/2008
La radiazione riflessa
La riflessione della luce su una superficie data da due componenti: diffusiva e speculare. p p La radiazione diffusa si pu pensare come assorbita dallo strato esterno del corpo, per essere poi riemessa in tutte le direzioni. La radiazione riflessa specularmente non attraversa la superficie esterna, ma viene rimandata immediatamente nel piano individuato dalla normale alla superficie nel punto considerato e dalla direzione della radiazione incidente.
Prof. Maurizio Muzzupappa
La radiazione riflessa
La componente di riflessione speculare pu essere osservata su superfici lucide. E definito come l'highlight. L'highlight causatodalla riflessionespeculare,mentrela riflessionesulrestodellasuperficie dovutaallariflessionediffusiva. dovuta alla riflessione diffusiva. Secispostiamoeguardiamo loggettodaun'altraangolazione possiamonotarecheanche l'highlightsimuove.
Prof. Maurizio Muzzupappa
14
06/05/2008
La radiazione riflessa
La Diffusione dominante su una superficie con tante piccole asperit. La luce viene riflessa in tutte le direzioni. La riflessione Speculare tipica delle superfici lisce. Questo implica che i raggi dispersi da p p Q p gg p ciascun punto della superficie siano diretti quasi nella stessa direzione, invece che essere diffusi in modo sparpagliato.
matto, opaco
liscio, lucido
Prof. Maurizio Muzzupappa
La radiazione riflessa
Oggetti con una forte componente speculare, quando sono inseriti allinterno di una scena riflettono anche gli ifl tt h li oggetti circostanti.
15
06/05/2008
I modelli di illuminazione
Definire un modello di illuminazione locale significa scegliere unequazione per calcolare l'intensit luminosa in un punto P generico dello spazio, in funzione dell'intensit della radiazione incidente e delle caratteristiche geometriche e fisiche della superficie. L obiettivo L'obiettivo di un modello di illuminazione quello di calcolare l'intensit luminosa in un punto della scena, data una certa configurazione delle sorgenti luminose.
16
06/05/2008
N IL
Id(p)=Kd IL cos + Ka Ia
17
06/05/2008
La quantit di energia riflessa specularmente q g p dipende fortemente dalla lunghezza d'onda della radiazione incidente e dall'angolo tra direzione di riflessione e direzione di vista. Is(p)=Ks IL cos
n
18
06/05/2008
IL
Algoritmi di Shading
Se i S si applicano i modelli di riflessione appena visti li d lli ifl i i ti ad una forma poliedrica che approssima una superficie curva otteniamo una figura a facce piane che assomiglier ben poco ad una superficie curva. In questi casi si parla di Flat Shading (o ombreggiatura piatta).
19
06/05/2008
Flat Shading
Il flat shading il pi semplice di tutti: si colora una faccia con un colore. Per migliorare la resa visiva necessario aumentare il numero di poligoni che compongono la superficie delloggetto.
Prof. Maurizio Muzzupappa
Flat Shading
Vantaggi: semplicit e velocit Svantaggi: Si percepiscono distintamente i poligoni. La normale, infatti, varia e quindi anche il colore associato a triangoli vicini.
Prof. Maurizio Muzzupappa
20
06/05/2008
Gouraud Shading
Per risolvere il problema si ricorre ad una tecnica di smoothing del colore. Il Gouraud Shading consiste nellinterpolare i valori di colore di ogni superficie di un oggetto una volta che siano stati calcolati i valori di colore nei due punti estremi di ogni linea di scansione.
Gouraud Shading
Flat Shading
Gouraud Shading
Prof. Maurizio Muzzupappa
21
06/05/2008
Gouraud Shading
N1
N2
N3 N Ni
Gouraud Shading
Perogniverticedelpoligonovienecalcolatalintensitdiluceriflessa. Lungociascunlatodelpoligonovengonointerpolatitalivaloridilucetraun L i l d l li i l i li l i di l verticeel'altro.Adesempio,conriferimentoallafigura,conoscendoitre coloriaitrevertici(rosso,verdeeblu)possibiledeterminareilcolore allinternodeltriangolo.
scanline
Icolori(laluceriflessadiffusa)dentroaltriangolovengonointerpolati attraversolelineediscansione(scanlines)
Prof. Maurizio Muzzupappa
22
06/05/2008
Gouraud Shading
Gouraud Shading
Vantaggi: attenua il salto di colore tra facce adiacenti, semplice e veloce ( solo poco pi oneroso del flat shading). Svantaggi: Non elimina completamente la percezione dei poligoni e non rende bene le riflessioni speculari (highlights).
Prof. Maurizio Muzzupappa
23
06/05/2008
Phong Shading
Permette una resa migliore del caso precedente, ma richiede maggior tempo di calcolo. Si calcolano le normali per ciascun vertice Nei vertici comuni a pi poligoni si calcola la media delle normali In ciascun pixel si calcolano le normali interpolando linearmente le normali ai quattro vertici del poligono di appartenenza
Prof. Maurizio Muzzupappa
Phong Shading
nA n1 nC n2 scanline n1 nP n2
nB
Il modello di riflessione pu, in tal modo, essere applicato ad ogni pixel appartenente al triangolo,
24
06/05/2008
Phong Shading
Vantaggio: buon realismo. Svantaggi: circa 5 volte pi lento di Gouraud. Migliore qualit dellhighlight
Prof. Maurizio Muzzupappa
Phong Shading
25
06/05/2008
Le Texture
Nella N ll continua ricerca d l realismo visivo, un grande aiuto ti i del li ii d i t deriva dallaggiunta di dettagli alle superfici degli oggetti, in modo da conferire loro lapparenza di materiali particolari come legno, marmo, decalcomanie, superfici irregolari o rugose. La tecnica dellapplicazione di tessiture sulle superfici degli oggetti di una scena una delle pi efficaci per dare un effetto di grande realismo visivo, spesso molto pi efficace dei soli modelli di illuminazione (Lambert e Phong).
Le Texture
Le texture vengono utilizzate per rendere realistiche le superfici dei modelli 3D, evidenziando i dettagli e fornendo alloggetto quelle caratteristiche fisiche tipiche del mondo reale. Il metodo consiste nel modificare il valore di colore di ogni punto su una superficie rispettando la configurazione dellimmagine che si vuole associare alla superficie.
26
06/05/2008
Le Texture
Le Texture
Texture procedurali sono algoritmi matematici procedurali, matematici, cio espressioni dipinte sulla superficie in uno spazio tridimensionale. Queste texture sono generate dal computer attraverso linserimento di parametri specifici Texture campionate sono immagini 2D acquisite o disegnate, con appositi programmi, ed attribuite alla superficie delloggetto.
27
06/05/2008
Le Texture procedurali
Le Texture campionate
PIXEL TEXEL
28
06/05/2008
Le Texture campionate
Le texture campionate pongono due ordini di problemi: il primo deriva dal fatto che non sempre semplice proiettare un rettangolo piano (una bitmap) su una superficie curva; il secondo problema riguarda il metodo con cui l d bl i d t d i la tessitura viene associata.
Le Texture campionate
La mappatura planare
La mappatura cilindrica pp
29
06/05/2008
Le Texture campionate
La L mappatura sferica t f i
Le Texture campionate
La mappatura cubica
La mappatura UV
30
06/05/2008
Le Texture campionate
Le Texture
I motori di rendering supportano i seguenti tipi di texture: Texture di colore: definiscono i colori di superficie, come nel caso di immagini dipinte su un oggetto. Texture di diffusione: definiscono il livello di diffusione della superficie. Texture di opacit: specificano le aree di opacit e trasparenza. Texture di specularit: specificano le aree di specularit rispetto alla sorgente luminosa.
Prof. Maurizio Muzzupappa
31
06/05/2008
Le Texture
I motori di rendering supportano i seguenti tipi di texture: Texture di riflessione: simulano una scena riflessa sulla superficie di un oggetto lucido (environment map). Texture di contrasto: creano un effetto a sbalzo o a bassorilievo (bump map).
Le Texture
Texture di colore
Texture di opacit
32
06/05/2008
Le Texture
Texture di contrasto
33
06/05/2008
Le luci in CG
Dovendo modellare una scena occorre non solo modellarne la geometria, ma anche gestire opportunamente le sorgenti di luce. Queste possono essere poste all'infinito o in un punto al finito. Di conseguenza i raggi luminosi saranno paralleli o divergenti.
Le luci in CG
Le sorgenti di luce possono essere puntiformi o g p p estese. La quantit di radiazione pu essere emessa in tutte direzioni; oppure si pu pensare che la radiazione emessa dalla sorgente abbia una direzione preferenziale. Si parla in questo caso di sorgenti direzionali. Si possono poi avere modelli con una sola sorgente o con un numero arbitrario di sorgenti.
34
06/05/2008
Le luci in CG
I programmi di rendering gestiscono differenti tipi di sorgenti luminose: La luce ambiente cio che illumina tutta la ambiente, scena e permette di dare chiarezza alla scena, ma comunque non permette di dare effetti avanzati di sfumature ed ombre
Le luci in CG
I programmi di rendering gestiscono differenti tipi di sorgenti luminose: La luce spot, che pu essere illustrata come il spot fascio di luce uscente da un faro di un auto, cio che genera un cono di luce. Essa ha poi delle altre propriet, cio una zona in cui l'illuminazione piena, ed una in cui sfuma dall'illuminazione piena all'ombra.
Prof. Maurizio Muzzupappa
35
06/05/2008
Le luci in CG
I programmi di rendering gestiscono differenti tipi di sorgenti luminose: La luce omnidirezionale (point), ossia una (point) sorgente luminosa puntuale dal quale partono i raggi in tutte le direzioni nello spazio. Posizionata tale sorgente in un punto, i raggi si diffonderanno nello spazio radialmente.
Le luci in CG
I programmi di rendering gestiscono differenti tipi di sorgenti luminose: La luce a raggi paralleli ossia una direzione paralleli, da cui provengono, parallelamente, i raggi solari.
36
06/05/2008
Le luci in CG
Luce distant
Luce point
Luce spot
Prof. Maurizio Muzzupappa
Le luci in CG
Ogni tipologia ha il suo utilizzo: per simulare l'ill i i i l l'illuminazione di un f faro si usa i una luce spot (proiettore), per simulare una lampadina, si usa una sorgente luminosa omnidirezionale per simulare il sole, si usa una sorgente gg p luminosa a raggi paralleli. si usa la luce ambiente per attenuare le ombre derivanti dall'uso delle altre tipologie di luci, che altrimenti sarebbero troppo marcate e poco realistiche (effetto penombra).
Prof. Maurizio Muzzupappa
37
06/05/2008
38
06/05/2008
39
06/05/2008
40
06/05/2008
41
06/05/2008
42
06/05/2008
I modelli di illuminazione globali permettono di tener conto della luce che proviene indirettamente sugli oggetti della scena. Nei modelli locali, tale contributo approssimato dalla luce ambiente e dallHighlight o ricorrendo a mappe dambiente per simulare specchi piani. I modelli globali, invece, si basano su metodi che cercano di calcolare, calcolare anche se in modo approssimato il campo ottico approssimato, prodotto dalle sorgenti di luce e dallinterazione della radiazione luminosa con lintera scena.
Ray Tracing
E la tecnica pi nota per la creazione di immagini Elatecnicapinotaperlacreazionediimmagini fotorealistiche. Gestisceinununicoalgoritmo calcolodelleombre, superficinascoste, superfici nascoste, riflessionideglioggetti rifrazioni.
Prof. Maurizio Muzzupappa
43
06/05/2008
Ray Tracing
Il principio guida che i pixel che appaiono colorati sullo schermo sono il risultato della storia di tutti i raggi luminosi emessi dalle sorgenti di luce, che hanno interagito con la scena riflettendosi, attraverso oggetti o venendo parzialmente o completamente assorbiti.
Ray Tracing
Anzich percorrere questa storia partendo dalle sorgenti luminose si preferisce invertire lanalisi percorrendo allindietro la storia dei raggi che giungono allo schermo, trascurando quelli persi nello sfondo.
44
06/05/2008
Shadow
Prof. Maurizio Muzzupappa
Ladiffrazionedellaluce
Prof. Maurizio Muzzupappa
45
06/05/2008
Ray Tracing
ShadingdiPhong
RayTracing:ombre,riflessioni, trasparenze.
Prof. Maurizio Muzzupappa
Radiosity
Radiosity unalgoritmoglobale,complementaredelraytracing. Tuttelesuperficidellascenasonosuddiviseinframmentichiamatipatch.Ogni patchtrattatocomeunasorgenteluminosa. Lilluminazione(radiosity)inunpatchdatadallaluceemessa(seuna sorgente)edallalucechearrivadatuttiglialtripatchdellascena. Eunalgoritmopesantecomputazionalmente. Ciascunpatchdipendedatuttiglialtriche sonodaessovisibili,eperquestobisogna risolvereilproblemadellarimozione i l il bl d ll i i dellesuperficinascostedalpuntodivista diciascunpatchdellascena.
46
06/05/2008
Radiosity
47
06/05/2008
La pipeline grafica
tassellation
La catena di operazioni che permette ad ogni triangolo di essere opportunamente processato e visualizzato sul monitor viene chiamata PIPELINE di Visualizzazione (o pipeline grafica).
GEOMETRYSTAGE
shading
RENDERINGSTAGE
texturemapping zbuffering
RASTERIZZAZIONEEVISUALIZZAZIONE
Prof. Maurizio Muzzupappa
La pipeline grafica
GEOMETRYSTAGE
TESSELATION
Durante questa fase tutti i modelli presenti nella scena vengono tassellati.
48
06/05/2008
La pipeline grafica
GEOMETRYSTAGE
TRANSFORMATION
La scena viene ricalcolata in funzione della posizione corrente dei modelli nella scena e rispetto alla posizione del punto di vista .
Trasformazioni di coordinate
Trasformazione di view orientation
WCS
Prof. Maurizio Muzzupappa
49
06/05/2008
La pipeline grafica
GEOMETRYSTAGE
CLIPPING
Elimina dalla lista tutti i triangoli che non rientrano nel volume di vista.
WCS NDCS
Prof. Maurizio Muzzupappa
La pipeline grafica
GEOMETRYSTAGE
LIGHTING
Rispetto alle sorgenti luminose presenti nella scena (che possono variare per numero, posizione, tipo, intensit ..), vengono associati, ad ogni triangolo, i parametri del modello di illuminazione prescelto (Lambert o Phong) .
50
06/05/2008
La pipeline grafica
RENDERINGSTAGE
SHADING
Vengono applicate le tecniche di shading (Flat, Gouraud o Phong) ai singoli triangoli, calcolando prima il valore del colore/normale sui vertici del triangolo e successivamente interpolando i valori di colore/ normale lungo le linee di scansione.
scanline
La pipeline grafica
RENDERINGSTAGE
TEXTUREMAPPING
Letexturevengonomappatesuimodelliperunadefinizionerealisticadellesuperfici. Perognitriangolovengonocosdefiniteleproprietsuperficiali.
51
06/05/2008
La pipeline grafica
RENDERINGSTAGE
ZBUFFERING
definisce per ogni pixel appartenente ad ogni triangolo la sua profondit cio la sua distanza dal punto di vista.
La pipeline grafica
RASTERIZZAZIONEEVISUALIZZAZIONE
Sulla base delle informazioni registrate nello zbuffer, ogni triangolo viene rasterizzato, cio le informazioni sul colore di ogni suo pixel vengono scritte sul frame buffer (parte della memoria video dedicata alla visualizzazione) per poter essere visualizzate sullo schermo.
52
06/05/2008
La pipeline grafica
RASTERIZZAZIONEEVISUALIZZAZIONE
ANTIALIASING
Molte schede grafiche implementano in hardware, durante la rasterizzazione, algoritmi per ovviare al problema dellaliasing (o pixelization), a causa del quale le linee diagonali rappresentate sullo schermo sono scalettate
Esempi
53
06/05/2008
Esempi
Esempi
54
06/05/2008
Esempi
Esempi
55
06/05/2008
Esempi
Esempi
56
06/05/2008
Esempi
Esempi
57