Materiali avanzati - Dipartimento di Informatica

Informatica Grafica I
Materiali avanzati
Riflessioni e trasparenze
Molti degli oggetti modellabili sono
costituiti da superfici trasparenti o
riflettenti.
I materiali Raytrace permettono di
impostare il livello di trasparenza e di
riflessione degli oggetti.
Con questi parametri e' possibile creare
finestre, lenti e specchi.
Marco Gribaudo
[email protected]
Raytracing
Il raytracing e' una differente tecnica di
rendering, alternativa rispetto a quella
standard.
Raytracing
Il raytracing cerca di seguire a ritroso il percorso fatto
da un raggio di luce che, partendo da una fonte
luminosa, raggiunge l'occhio di un osservatore.
E' in grado di tener conto di luci, ombre,
trasparenze e riflessioni.
Raytracing
L'algoritmo considera uno alla volta i pixel
dell'immagine che sta generando, e traccia un raggio
che unisce questi alla posizione dell'oservatore.
Raytracing
Determina quindi l'intersezione con tutti gli oggetti e
seleziona l'oggetto piu' vicino.
Raytracing
Per calcolare il colore del pixel, traccia un nuovo
raggio che congiunge il punto di intersezione con le
luci presenti nella scena.
Raytracing
Altrimenti, se il raggio raggiunge la luce, vengono
calcolati i termini di luce diffusa e speculare,
utilizzando lo shader associato al materiale.
Raytracing
Il secondo viene invece utilizzato per implementare le
trasparenze. Esso tiene conto dell'indice di rifrazione
dell'oggetto e della trasparenza del materiale.
Raytracing
Se il raggio viene bloccato da qualche altro oggetto,
allora la luce coinvolta non viene considerata (e' un
punto in ombra rispetto all'altro oggetto).
Raytracing
Da ogni punto possono partire altri due raggi. Uno
serve a generare le immagini riflesse e segue la
direzione della riflessione speculare...
Raytracing
Per ciascuno dei due raggi il procedimento viene
ripetuto in modo da considerare riflessioni e
trasparenze multiple.
Raytracing
Il raytracing e' un algoritmo piuttosto
semplice ma capace di produrre immagini
estremamente realistiche.
Riflessioni e trasparenze
In 3D studio il raytrace si imposta selezionando
"raytrace" quando si crea un nuovo materiale.
Il raddoppiare ad ogni riflessione il numero
dei raggi tracciati rende l'algoritmo poco
efficiente e talvolta troppo lungo da
calcolare.
Riflessioni e trasparenze
Riflessioni e trasparenze
Per rendere trasparente un oggetto, ad
esempio...
... e' sufficiente selezionare un materiale
raytrace ed impostare la sua trasparenza ad un
valore maggiore di zero.
Riflessioni e trasparenze
Riflessioni e trasparenze
Per rendere ancora piu' realistica la trasparenza
quando l'oggetto presenta delle parti curve...
... e' possibile impostare l'indice di rifrazione del
materiale ad un valore diverso da 1.
Riflessioni e trasparenze
Riflessioni e trasparenze
In questo modo si possono creare
facilmente effetti "lente".
Per ottenere invece una riflessione
speculare...
Riflessioni e trasparenze
Riflessioni e trasparenze
... e' sufficente impostare ad un valore
maggiore di zero il parametro di riflessione.
Cosi' facendo si possono trasformare
pareti piane in specchi.
Bump map
Le texture possono avere anche utilizzi
secondari, oltre a quello classico di
applicare un'immagine sulla superfice di
un oggetto.
Uno di questi utilizzi consiste nel
determinare "la rugosita'" degli oggetti.
In questo caso si parla di bump map.
Bump map
In assenza di bump map le superfici
sembrano piatte.
Bump map
Una bump map produce un rilievo sulla
figura pari alla luminosita' del pixel
presente sulla texutre.
Bump map
In questo modo si possono rendere piu' realistiche le
superfici degli oggetti: la colorazione cambia in
funzione dell'angolo di incidenza della luce.
Bump map
Le mappe di trasparenza
Le bump map non modificano la superfice
dell'oggetto, ma ricreano solamente
l'effetto di luce che si otterrebbe se la
supefice fosse effettivamente rialzata in
alcuni punti.
Nelle normali immagini bitmap, le trasparenze
vengono implementate attraverso uno speciale
canale, detto canale Alpha.
In un materiale, e' possibile utilizzare una
tecnica simile per definire eventuali "buchi"
presenti su una superfice attraverso una texture.
Possono essere quindi solamente
impiegate per aggiungere piccoli dettagli
sulle superfici e non grandi variazioni di
profondita'.
Puo' essere utile per definire oggetti piatti con
contorni molto frastagliati, come foglie od alberi
in lontananza.
Le mappe di trasparenza
Le mappe di trasparenza
In questo caso e' necessario avere una texture
bicolore, dove il colore bianco viene impiegato per
definire dove e' presente la superfice dell'oggetto, ed il
nero dove e' assente.
Utilizzando tale texture come mappa di trasparenza...
Le mappe di trasparenza
... si puo' "ritagliare" il contorno di un oggetto. Per
vedere il risultato, e' pero' necessario effettuare il
rendering dell'immagine.
Le mappe di ambiente
Abbiamo visto in precedenza come creare
superfici riflettenti utilizzando la tecnica
del Raytrace.
A volte non c'e' bisogno di avere il calcolo
esatto delle riflessioni o rifrazioni, ma e'
sufficiente "dare l'impressione" che esse
siano presenti.
Le mappe di ambiente
Le mappe di ambiente, sono delle immagini che
"approssimano" le riflessioni che si avrebbero nel
luogo in cui l'oggetto e' situtato...
Le mappe di ambiente
In tantissime occasioni, esse sono in grado di dare
risultati estremamente realistici, senza appesantire
troppo il rendering della scena.
Le mappe di ambiente
Esse vengono utilizzate per calcolare le riflessioni e le
rifrazioni in oggetti con materiali non raytrace.
Il "cell shading"
In alcuni casi, si vuole utilizzare un
programma di grafica 3D per realizzare
immagini simili a quelle dei cartoni animati
tradizionali.
In questo caso si parla si Cell shading.
Il "cell shading"
3D studio, permette di realizzare immagini in cell
shading con i materiali Ink'n paint.
Il "cell shading"
Il numero di "sfumature" diverse in cui esso
puo' essere suddiviso...
Il "cell shading"
Lo spessore ed il
colore dei bordi
delle immagini
generate.
Il "cell shading"
In questo caso si puo' scegliere il colore
dell'oggetto...
Il "cell shading"
La presenza, la larghezza ed il colore dei punti
di luce...
Il "cell shading"
Il risultato finale e' una immagine in stile
cartone animato.
I materiali multi-strato
Molti materiali sono costituiti da strati
semitrasparenti che si combinano per
dare origine al risultato finale.
I materiali multi-strato
I materiali composti si selezionano in alternativa
ai materiali standard.
Per simulare questi comportamenti, 3D
studio mette a disposizione i materiali
compositi.
I materiali multi-strato
Essi sono costituiti da numerose posizioni in cui si
possono inserire i materiali secondari da sovrapporre.
I materiali elencati nelle posizioni di indice superiore
sono quelli situati "piu' in alto" nella stratificazione.
I materiali multi-strato
Con questa tecnica si puo' ad esempio
sovrapporre ad un materiale di tipo gesso...
I materiali multi-strato
Ad ogni strato si puo' assegnare un livello di
trasparenza, grazie al quale far filtrare i
materiali sottostanti.
I materiali multi-strato
Una nuvola opaca...
I materiali multi-strato
Librerie di materiali
Per creare l'effetto di un materiale sporcato dal
tempo.
Le definizioni delle proprieta' dei materiali
sono spesso riutilizzabili in diversi progetti.
Per questo i materiali vengono
generalmente raccolti in apposite librerie.
Librerie di materiali
Una libreria
contiene numerosi
materiali, ciascuno
caratterizzato dai
suoi parametri e
dalle texture ad
esso associate.
Librerie di materiali
L'utente si limita quindi a modificare alcuni
parametri (come ad esempio il colore) per
adattare un materiale alle varie esigenze.
Librerie di materiali
L'identificazione dei
materiali in libreria
puo' essere facilitata
visualizzando alcune
immagini campione.