Materiali avanzati - Dipartimento di Informatica

Informatica Grafica
per le arti
Materiali avanzati
Raytracing
Molti degli oggetti modellabili sono
costituiti da superfici trasparenti o
riflettenti.
I materiali Raytrace permettono di
simulare con precisione l'effetto di
trasparenza e di riflessione degli oggetti.
Risultano quindi particolarmente indicati
per modellare finestre, lenti e specchi.
Marco Gribaudo
[email protected]
Raytracing
Il raytracing e' una speciale tecnica di
rendering, capace di considerare i
fenomeni di riflessione totale di un
materiale.
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.
Per questo 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 quello 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
Raytracing
Il raytracing e' un algoritmo piuttosto
semplice ma capace di produrre immagini
estremamente realistiche.
Negli ultimi anni, sono l'algortimo e' stato ulteriormente
esteso, rendendolo capace di considerare anche
fenomeni di riflessione non totale, grazie a tecniche
stocastiche (i.e. considerando un numero maggiore di
raggi, indirizzati casualmente nello spazio).
Il raddoppiare ad ogni riflessione il numero
dei raggi tracciati rende l'algoritmo poco
efficiente e talvolta troppo lungo da
calcolare.
Queste nuove tecniche premettono di riprodurre
fenomeni luminosi ancora piu' avanzati come le
riflessioni sfocate, le caustiche, la colorazione della
luce rifratta e la messa a fuoco nella cinepresa, al
prezzo di un ulteriore incremento nei tempi di
rendering.
Riflessioni e trasparenze
Riflessioni e trasparenze
In 3D studio il raytrace si imposta selezionando
"raytrace" quando si crea un nuovo materiale.
Anche per i
materiali Raytrace
e' possibile
selezionare lo
Shader, ed
impostarne i relativi
parametri.
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.
Il "cell shading"
In alcuni casi, si vuole utilizzare un
programma di grafica 3D per realizzare
immagini simili a quelle dei cartoni animati
tradizionali.
Il "cell shading"
3D studio, permette di realizzare immagini in cell
shading con i materiali Ink'n paint.
In questo caso si parla si Cell shading.
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 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"
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.
Per simulare questi comportamenti, 3D
studio mette a disposizione i materiali
compositi.
I materiali multi-strato
I materiali compositi si selezionano in
alternativa ai materiali standard.
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
Essi sono costituiti da numerose posizioni in cui si
possono inserire i materiali da sovrapporre. I materiali
elencati nelle posizioni di indice superiore sono quelli
situati "piu' in alto" nella stratificazione.
I materiali multi-strato
Inoltre e' possibile specificare la modalita' in cui
i vari strati vengono miscelati (A - additiva, S sottrattiva, M - moltiplicativa).
I materiali multi-strato
Con questa tecnica si puo' ad esempio
sovrapporre ad un materiale di tipo gesso...
I materiali multi-strato
Una nuvola opaca...
I materiali multi-strato
Materiali per la Radiosity
Per creare l'effetto di un materiale sporcato dal
tempo.
La tecnica di rendering della Radiosity, richiede
parametri speciali, come ad esempio il
coefficente di riflessione dell'energia.
I normali materiali, non sono pero' dotati di
questi particolari parametri.
Il materiale Sostituzione Illuminazione
Avanzata, permette di estendere un materiale,
aggiungendovi i parametri necessari per la
Radiosity.
Materiali per la Radiosity
Materiali per la Radiosity
Si inizia
selezionando
il materiale a
cui si vuole
aggiungere i
parametri per
la Radiosity, e
lo si cambia in
Sostituzione
Illuminazione
Avanzata.
Si risponde quindi di voler mantenere il vecchio
materiale come materiale di base.
Materiali per la Radiosity
Materiali per la Radiosity
Il coefficente di riflettanza, permette di ridurre la
capacita' di un oggetto di riflettere la luce ricevuta.
Il coefficente di luminanza, consente di utilizzare la
luce propria di un oggetto per illuminare la scena.
1,0
0,0
0,01
Materiali doppia faccia
Come visto nelle precedenti lezioni, il
meccanismo del Back Face Culling, non
visualizza le facce ritenute opposte
all'osservatore.
1,0
Materiali doppia faccia
Un materiale doppia faccia, permette di
specificare altri due materiali: uno da utilizzare
per il "fronte", e l'altro per il "retro".
Il materiale doppia faccia, permette di
disabilitare questo meccanismo, e di
utilizzare due materiali distinti a seconda
che la faccia sia interna od esterna.
Materiali doppia faccia
Durante il rendering, questo permette di visualizzare
(eventualmente in un colore diverso) facce che
normalmente verrebbero eliminate.
Librerie di materiali
Le definizioni delle proprieta' dei materiali
sono spesso riutilizzabili in diversi progetti.
A questo scopo, i materiali possono
essere 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.