Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ambiente e Territorio
Prof. Ing. Alfredo Liverani
RENDERING
Procedura attraverso la quale un modello
tridimensionale o gruppo di modelli
(scenario) digitale può essere trasformato in
un’immagine a video
Tecnica per dare realismo a immagini
derivate da modelli tridimensionali
1/37
La visualizzazione nei sistemi CAD:
il problema della visibilità
La mancanza di colorazione delle superfici impedisce di
distinguere le superfici vicine dalle lontane e non permette
l’eliminazione delle superfici nascoste.
La visualizzazione non solo è poco realistica, ma soprattutto
assolutamente poco chiara.
1
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Rendering:
componenti fondamentali
((ombreggiatura)
gg )
Per rendere più realistiche le immagini:
3/37
Rendering
Per qualsiasi tipo di colorazione delle superfici
(shading) occorre innanzitutto posizionare il tipo
di sorgente luminosa ed il punto di vista
dell’osservatore
4/37
2
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Visualizzazione basica
Visualizzazione basica
Visualizzazione avanzata
La visualizzazione basica
Provvede alla colorazione delle superfici in funzione
d ll’
dell’orientamento dell’osservatore e della/e sorgenti di
d ll’ d ll / d
luce (ombreggiatura).
L’algoritmo principale è quello cosiddetto di scan
conversion.
Si basa sulla formulazione del comportamento della
luce sulle superfici molto semplificata.
Punta alla visualizzazione interattiva più che al realismo
della simulazione.
3
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
La visualizzazione avanzata
Provvede alla colorazione delle superfici in funzione
dell’orientamento dell’osservatore e della/e sorgenti di
luce, delle proprietà assegnate alle singole superfici
(materiali), al comportamento rispetto alla luce degli
altri componenti della scena (Global Illumination).
La visualizzazione avanzata
Utilizza algoritmi di scan conversion o, più spesso, di ray
tracing o radiosity.
Si basa sulla formulazione del comportamento della
luce sulle superfici molto raffinata, quindi lenta da
calcolare.
Punta alla visualizzazione realistica piuttosto che
interattiva (rendering).
4
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
La visualizzazione basica/avanzata
• Flat shading
Flat shading
Vis. basica
• Gouraud shading
• Phong shading
• Ray tracing
y g
Vis. avanzata
a
• Radiosity
• Ray tracing + radiosity
9
Algoritmi di colorazione
delle superfici
• Flat shading Fast Non
Non--realistic
• Gouraud shading
• Phong shading
• Ray tracing
• Radiosity
• Ray tracing + radiosity Slow Realistic
10/37
5
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Scan conversion / Graphics Pipeline
Procedura iterativa (algoritmo)(la Graphics Pipeline),
applicata su tutte le entità grafiche della scena.
Le entità grafiche complesse vengono approssimate
mediante triangoli o quadrangoli (mesh).
La colorazione delle superfici avviene per interpolazione del
livello di colore calcolato agli spigoli dei triangoli.
11
Scan conversion / Graphics Pipeline:
principali limitazioni
EE’ applicabile soltanto ad un modello 3D che
applicabile soltanto ad un modello 3D che
approssima quello di partenza;
La reale risoluzione è dipendente dall’hardware
Non c’è possibilità di controllare le ombre e penombre
e riflessioni.
ifl i i
Che cosa succede se ci sono più triangoli che pixels?
12
6
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Graphics Pipeline:
requisiti
Per qualsiasi tipo di colorazione delle superfici
(shading = ombreggiatura) occorre innanzitutto
posizionare il tipo di sorgente luminosa
posizionare il tipo di sorgente luminosa ed il
ed il
punto di vista dell’osservatore.
13
Graphics pipeline
Tassellazione
ITERATIVO
Trasformazioni
globali
Illuminazione
Trasformazioni
di vista
HSR (Hidden Surface Removal)
Proiezione 2D
14
7
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
15/37
Trasformazioni globali
Trasformazioni (spostamento, scalatura, rotazioni…)
(p )
che avvengono durante la modellazione.
Sono in coordinate omogenee e nel sistema di
coordinate globali (Model Space), che è comune a
tutte le primitive grafiche della scena.
16
8
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Illuminazione: tipi di luce
è una luce diffusa che
• Luce ambiente illumina la scena in ogni
direzione
la sorgente luminosa è
• Luce distante all’infinito, per cui i
raggi sono paralleli
17
Intensità di colorazione della
superficie (shading)
sorgente scena
piano
p
immagine
I a cos(b)
osservatore
18/37
9
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Algoritmi di illuminazione:
Constant shading
Nessun dipendenza
rispetto alla sorgente
di luce e alla
posizione relativa
osservatore/oggetto.
t / tt
19
Algoritmi di illuminazione.
Variazione della colorazione solo tra poligoni:
Flat shading
• Ogni poligono ha una colorazione costante sulla sua superficie in funzione
g p g p
soltanto della posizione della sorgente luminosa.
• Tutti i pixel sullo stesso poligono hanno la stessa intensità di colore.
Sorgente luminosa
Caratteristiche
• Veloce e semplice.
20
10
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Flat Shading
21
Algoritmi di illuminazione.
Variazione della colorazione all’interno di
ciascun poligono
22
11
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Algoritmi di illuminazione.
Modello della luce semplificato
I R (l n) I0 R l Cos I0
Usato sia per Gouraud
dove:
sia per Phong
I = intensità della luce nel punto P
n = vettore normale alla superficie (può essere calcolato per
interpolazione di normali vicine in modo da migliorare la qualità
visiva in poligoni adiacenti)
R = coefficiente di riflessione
l = vettore di direzione della luce rispetto alla superficie
I0 = termine relativo luce ambiente (luce di fondo)
= angolo tra normale e direzione luce
23
Gouraud shading: calcolo delle normali
Le superfici complesse vengono
approssimante con primitive n4
n1
geometriche più semplici
(poligoni o triangoli). nD
Il colore però calcolato sulla
base delle normali naturali dei D
singoli poligoni produce A n3
scalature di colore non gradite. C n2
Si attua allora il calcolo delle B
normali mediante interpolazione n1 + n2 + n3 + n4
in modo da migliorare la nD =
gradazione di colore finale. 4
24
12
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Gouraud shading
Linea di scansione ID
D
Gouraud shading: problemi
Differenze di illuminazione all’interno di un
poligono che non interessano i vertici
Continuità di variazione luminosa lineare che
provoca l’effetto banda (Mach Banding)
26
13
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Modelli Gouraud‐shaded
27
Phong Shading
• Si calcolano le normali per ciascun vertice
• In
I ciascun
i pixel
i l sii calcolano
l l l normalili
le
interpolando linearmente le normali ai quattro
vertici del poligono di appartenenza
28
14
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Phong Shading
na np nD
nA nb
D
nA (yD - yS) + nD (yS - yA)
na =
nC yD - yA
A
Ip = f(np,...)
29
Modelli Phong‐shaded
30
15
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Trasformazioni di vista
Oggetto da visualizzare
Piano di proiezione
Vettore di vista
32
16
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
HSR (Hidden Surface Removal)
IlIl Clipping è la procedura con la quale è possibile
Clipping è la procedura con la quale è possibile
escludere direttamente dall’elaborazione numerosi
poligoni che non verranno visualizzati nella scena
finale
(es la parte posteriore di una montagna)
(es. la parte posteriore di una montagna)
(oppure i poligoni che stanno fuori dalla piramide di
vista dell’osservatore)
33
HSR (Hidden Surface Removal)
Frustum clipping
Eliminazione delle primitive grafiche esterne alla
Eliminazione delle primitive grafiche esterne alla
piramide di vista (frustum).
Backface clipping
Ogni poligono (triangolo) ha due facce: sicuramente
una delle due è non visibile e quindi la escludo dalla
lista delle facce da elaborare.
34
17
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
HSR: backface culling
0 sup
p erficie visibile
AB
0 sup erficie non visibile
35
HSR (Hidden Surface Removal)
Polygon clipping: eliminazione di parte di primitive
ggrafiche perchè nascoste parzialmente da altre.
p p
Poligoni che si
sovrappongono
Osservatore
Poligoni che si
intersecano
Osservatore
36
18
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Proiezioni 2D
Trasformazioni di proiezione. I vertici dei poligoni
tassellati vengono proiettati dal sistema di
coordinate vista al sistema bidimensionale dello
schermo (3D 2D).
La proiezione può essere
ortogonale o prospettica.
37
Proiezioni 2D
38
19
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Proiezioni 2D
Proiezione ortogonale
Si tratta di una trasformazione per cui
escludiamo soltanto la coordinata globale Z.
0 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 0 0 0 0 1 0 0
Px Py
Pz
0 0 1 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 1
39
Proiezioni 2D (x, y, z)
Proiezione prospettica +Z
(xproj, yproj, 0)
Il Centro di Proiezione giace sull’asse Z (nella
direzione negativa) con il piano di proiezione
coincidente con il piano x‐y.
(0, 0, -d)
xprojected = xd/(d+z) = x/(1+(z/d))
-Z
yprojected = yd/(d+z) = y/(1+(z/d))
40
20
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Proiezioni 2D
Proiezione prospettica a tre fuochi
Scrittura matriciale
complessa
41
42
21
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Viewport mapping
43
Rasterizzazione
Si tratta del processo di disegno delle primitive nel framebuffer.
L operazione si compie mediante un algoritmo di scrittura del
L’operazione
colore dei pixel e mediante alcune operazioni per-pixel (ovvero di
correzione e calcolo ulteriore del colore del pixel)(es. alpha…).
44
22
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
I materiali
Insieme di parametri che definiscono il comportamento
della superficie nei confronti della luce che la investe.
f f
Il colore
Si tratta del colore di fondo della superficie,
considerato uniforme ed espresso in coordinate
RGB.
45/37
La diffusione
Il colore può non essere diffuso uniformemente.
Questo canale ne esprime la disuniformità.
La trasparenza
La superficie può lasciar passare una parte dei
raggi luminosi che la colpiscono.
La riflessione (specularità)
La superficie può riflettere una parte dei raggi
luminosi che la colpiscono.
46/37
23
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Il canale alpha
La porzione di superficie interessata da questo
canale viene “sottratta” al resto dell’immagine.
La self illumination
Si tratta della capacità della superficie di generare
luminosità intrinseca.
Texture mapping
Tecnica che prevede la sovrapposizione ad un
Tecnica che prevede la sovrapposizione ad un
poligono o gruppo di poligoni di una bitmap
(immagine fotografica)
24
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Texture mapping
Immagine bitmap
(foto) (JPG)
V U
Modello 3D con materiali
e mappatura UV
49/37
Texture mapping
Tutti i punti di una texture possono essere individuati per mezzo di
una coppia di coordinate UV infatti le texture sono bidimensionali
una coppia di coordinate UV, infatti le texture sono bidimensionali
(u e v sono due parametri che variano nell'intervallo tra 0 e 1,
perciò si dice UV e non XY). Le coordinate UVW descrivono invece
una superficie. Una volta che sia generata la corrispondenza delle
coordinate UV della texture alle coordinate UVW della superficie,
p ,
la texture aderisce alla superficie anche quando quest'ultima
viene deformata.
50/37
25
Laboratorio CAD e Informatica T – CdL Ing. Ambiente e Territorio
Prof. Ing. Alfredo Liverani
Animazione
Proiezione di più immagini rendered
concepite e intervallate in maniera tale da
ottenere effetti di movimento
ottenere effetti di movimento
51/37
26