Tutta - Dipartimento di Informatica

annuncio pubblicitario
Informatica Grafica
per le arti
Illuminazione
avanzata
Luci speciali
E' possibile applicare una bitmap ad una
luce.
Una luce a cui e' applicata una bitmap
proietta l'immagine associata nello spazio.
Marco Gribaudo
[email protected]
Luci speciali
Una volta inserita una luce di tipo spot o
diretta...
Luci speciali
Si seleziona quindi "bitmap" nel tipo di
immagine che si vuole proiettare.
Luci speciali
... e' possibile associarle una bitmap dalla
sua pagina delle proprieta' alla sezione
"effetti avanzati".
Luci speciali
Infine si seleziona
l'immagine che si
vuole proiettare.
Luci speciali
La luce proietta quindi l'immagine
contenuta nella bitmap associata.
Luci speciali
Per tutti i tipi di luce e' possibile impostare anche un
decadimento, definire cioe' come la luce diminuisce
nello spazio, man mano che ci si allontana dalla
sorgente.
Luci speciali
Per luci direzionali e spot e' possibile indicare la forma
del cono-cilindro (circolare o rettangolare). Nel caso
di fasci rettangolari, e' anche possibile specificare il
rapporto tra i due lati per definirne la forma.
Luci speciali
Se non si imposta nessun decadimento,
l'intensita' luminosa rimane costante in tutto lo
spazio.
Il decadimento quadratico e' invece quello che
si avrebbe utilizzando le leggi fisiche. Esso
pero' tende a produrre immagini troppo scure.
Il decadimento inverso e' invece
un'approssimazione che si trova a meta' strada
tra i due precedenti.
Illuminazione avanzata
Illuminazione avanzata
Le tecniche di illuminazione viste fino ad ora (a parte
la luce ambientale), servono unicamente a simulare
l'illuminazione diretta e trascurano quella indiretta.
3D studio Max, a partire dalla versione 5, mette a
disposizione 2 tecniche di illuminazione avanzata:
Negli ultimi anni sono state inventate numerose
tecniche per simulare l'illuminazione indiretta e
realizzare immagini sempre piu' realistiche.
Le piu' importanti sono la radiosity, il photon
mapping, il final gather e l'image-based lighting.
Light-tracing
Radiosity
Nelle versioni piu' recenti, 3D studio MAX ha
integrato il motore di rendering Mental Ray,
attraverso il quale e' possibile utilizzare anche le
altre tecniche di illuminazione indiretta.
Illuminazione avanzata
Le tecniche di illuminazione avanzata si attivano
dall'apposita voce del menu' di rendering,
selezionandole dall'elenco a tendina.
Illuminazione avanzata
Per comprendere il funzionamento delle tecniche di
illuminazione avanzata, bisogna prendere in
considerazione anche il modo in cui gli oggetti
riflettono la luce che li illumina.
Di questo pero' ce ne occuperemo in modo piu'
approfondito nelle prossime lezioni. Per ora
accenneremo solo brevemente a come la direzione e
la quantita' di luce riflessa dipenda dalla rugosita' di
una superfice.
Illuminazione avanzata
Illuminazione avanzata
In paritcolare, i raggi di luce che colpiscono un
oggetto, vengono riflessi in un insieme di direzioni che
dipende dalla rugosita' dell'oggetto stesso.
Ragionando in modo inverso, anche la luce riflessa da
un punto di un oggetto e' determinata dalla sua
rugosita'.
Skylight e Light-tracing
Skylight e Light-tracing
Per simulare l'illuminazione circostante in scene
ambientate all'esterno, 3D studio mette a disposizione
un meccanismo chiamato light-tracing.
Esso si basa sul fatto che in una scena in esterno, la
fonte di luce piu' significativa e' il cielo.
Il cielo illumina un oggetto da tutte le direzioni.
Skylight e Light-tracing
Skylight e Light-tracing
Alcuni punti di un oggetto possono pero' risultare
occlusi da altri elementi presenti sulla scena, e quindi
ricevere meno luce rispetto ad altri.
3D studio determina la porzione di cielo visibile tirando
un numero di raggi in direzione casuale da ogni punto
dell'oggetto (da questo il nome light-tracing).
Skylight e Light-tracing
Skylight e Light-tracing
Per utilizzare questo tipo di illuminazione, occorre
innanzi tutto inserire una luce di tipo skylight nella
scena. Non ha importanza la sua posizione specifica basta sia presente.
Si deve quindi attivare il calcolo del Light-tracing
dall'apposito menu' a tendina della finestra di
illuminazione avanzata.
Skylight e Light-tracing
Skylight e Light-tracing
Renderizzando la scena, si produrranno immmagini
con ombreggiature piu' diffuse, che conferiranno un
maggiore senso di realismo.
E' possibile utilizzare una immagine per definire il
colore del cielo che illumina la scena. La procedura
per definire la mappa e' simile a quella utilizzata per
proiettare immagini dalle luci.
Skylight e Light-tracing
In questo caso i colori degli oggetti sulla scena
dipendono dal colore del cielo che li sovrasta.
Skylight e Light-tracing
Malgrado il light-tracing sia in grado di produrre
immagini di qualita' soddisfacente (in molti casi
anche senza penalizzare eccessivamente i tempi
di rendering) tale meccanismo presenta alcune
limitazioni.
Esso infatti puo' essere utilizzato solamente per
scene esterne (in quanto altrimenti i muri di una
stanza occluderebbero completamente la luce).
Skylight e Light-tracing
Inoltre non e' in grado di calcolare il fenomeno del
color-bleeding: in natura, un oggetto illumina
lievemente del suo colore gli elementi circostanti.
Radiosity
Light-tracing
Le immagini HDR
Le idee alla base del Light-tracing, sono state
ultimamente estese nella tecnica chiamata imagebased lighting.
In questo caso, si utilizza un'immagine (solitamente
acquisita attraverso speciali fotografie di un
ambiente reale) per illuminare una scena.
Tale tecnica e' in grado di illuminare anche
ambienti interni.
Le immagini HDR
Le immagini HDR
Il problema principale nell'utilizzare una immagine
come fonte di illuminazione risiede nel fatto che il lighttracing e' poco sensibile ai dettagli presenti nella figura.
Tale difetto e' dovuto al fatto che nel mondo reale,
le intensita' luminose che contraddistinguono le
diverse sorgenti di luce, variano di molti ordini di
grandezza (anche 16 - decine di milioni di milardi).
Le comuni immagini bitmap, hanno solo 2 ordini di
grandezza (256 livelli per ogni colore primario), e
non sono quindi adeguate a catturare tutti i dettagli
necessari ad illuminare una scena.
Le immagini HDR
Per far fronte a questo problema, e' stato inventato
un nuovo formato di codifica delle immagini
chiamato HDR (High Dynamic Range).
Le immagini HDR
In questo modo sono in grado di caratterizzare
correttamente le fonti luminose, e possono essere
utilizzate per riproporre illuminazioni ambientali
complesse acquisite dal vero (anche in interno).
Le immagini HDR utilizzano numeri in virgola
mobile per memorizzare le intensita' dei colori
presenti al loro interno.
Le immagini HDR
Radiosity
Purtroppo pero', per ora le immagini HDR non
sono ancora supportate dalla maggior parte dei
software di elaborazione delle immagini e dalle
macchine fotografiche digitali tradizionali.
Una tecnica piu' precisa per il calcolo
dell'illuminazione indiretta e' la radiosity.
Inoltre, solamente le versioni piu' recenti di 3D
studio MAX sono in grado di supportare immagini
in formato HDR.
Essa e' in grado di cattuare anche effetti
quali il color-bleeding, e di funzionare
correttamente anche in ambienti interni
(racchiusi cioe' tra pareti).
Radiosity
La radiosity considera le leggi fisiche alla
base dello scambio di energia tra le
superfici.
Si basa sul fatto che l'energia emessa da
un corpo equivale all'energia propria del
corpo stesso, piu' quella ricevuta dalle
sorgenti cirocostanti e riflessa in altre
direzioni.
Radiosity
L'intero spazio e' suddiviso in tante piccole
celle.
Per ognuna di queste celle viene calolata
la quantita' di energia (di luce) emessa.
Tale quantita' e' chiamat radiosity.
Radiosity
Radiosity
Ogni cella ha la possibilita' di emettere
radiazioni luminose.
Ogni cella riflette in varie direzioni la luce
ricevuta.
Tutte le luci vengono considerate come
celle speciali.
Radiosity
Bi=Ei+ρiΣjFijBj
Queste equazioni tengono conto della
geometria dell'ambiente (Fij) e della
riflettivita' delle celle (ρi).
Radiosity
In 3D studio MAX si attiva utilizzando l'apposita
opzione nella finestra dell'illuminazione avanzata.
Bi=Ei+ρiΣjFijBj
Per ogni cella viene impostata una
equazione che calcola la sua radiosity (Bi)
in funzione della luce emessa (E i) e della
radiosity delle altre celle (Bj).
Radiosity
Le equazioni di radiosity formano un sistema la
cui soluzione determina la quantita di luce
irradiata da ciascuna cella.
A partire da questa soluzione possono essere
prodotte numerose "viste" di una medesima
scena.
Il numero totale di celle puo' pero' facilmente
raggiungere diversi milioni: il tempo di calcolo
puo' quindi essere estremamente oneroso.
Radiosity
Inoltre, la scena deve essere illuminata utilizzando le
luci fotometriche, al posto delle luci standard.
Radiosity
Le luci fotometriche replicano l'illuminazione fisica
prodotta da luci reali.
Radiosity
La differenza tra luci omniderazionali e spot, si ottiene
variando la distribuzione della luce in una sorgente
puntiforme.
Le luci puntiformi simulano omniderzionali e spot, le
luci lineari simulano quelle dirette, ed il cielo IES
corrisponde allo skylight. In piu' per ambienti esterni e'
possibile simulare il sole con la luce sole IES.
Anche in questo caso, e' possibile inserire luci libere o
con destinaizone.
Radiosity
Le luci fotometriche
richiedono che le
dimensioni di una scena
siano realistiche. Per
questo occorre impostare
le unita' di misura nel
menu' Personalizza>unita' di misura, e
controllare che le
dimensioni degli oggetti
siano ragionevoli in queste
unita'.
Radiosity
Il calcolo della
soluzione della
radiosity si effettua
premendo l'apposito
pulsante.
Radiosity
Una volta inserita la scena, occorre impostare il livello
di suddivisione delle superfici nella finestra
dell'illuminazione avanzata. Piu' la dimensione e'
piccola, maggiori saranno le suddivisioni, migliore la
qualita' e e piu' lungo il tempo di calcolo.
Radiosity
Terminato il calcolo, 3D Max visualizza le suddivisioni
utilizzate nelle finestre wireframe...
Radiosity
Ed un'anteprima della soluzione ottenuta nella finestre
con modalita' smussato ed illuminato.
Radiosity
Inoltre e' necessario
applicare un filtro, per
distribuire meglio la
soluzione sulle
superfici.
Radiosity
Ogni qual volta si
effettua un
cambiamento nella
scena, e' necessario
ricalcolare la
soluzione premendo il
pulsante Ripristina
tutto.
Radiosity
E' possibile
migliorare la
soluzione ottenuta,
incrementando il
numero di
raffinamenti, e
premendo
nuovamente avvia.
Radiosity
Il filtro non ricalcola la soluzione, ma semplicemente la
rende piu' uniforme sulle superfici.
Filtro = 0
Filtro = 2
Il controllo dell'esposizione
La radiosty produce risultati caratterizzati da livelli
di illuminazione con valori realistici.
Come visto pero' in precedenza, i valori realistici di
illuminazione variano su diversi ordini di
grandezza.
Il controllo dell'esposizione e' un filtro che
permette di comprimere piu' ordini di grandezza di
intensita' luminosa, nei 256 livelli di tonalita'
possibili nelle comuni immagini bitmap.
Il controllo dell'esposizione Il controllo dell'esposizione
Il controllo dell'esposizione si inserisce nella finestra
ambiente del menu' Rendering->Ambiente.
Per immagini calcolate
con Radiosity, occorre
inserire un controllo di
esposizione
logaritmico. Inoltre e'
necessario lavorare sui
parametri (in particolar
modo sulla luminosita')
per correggere
manualmente il risultato
finale dell'immagine
ottenuta.
Il controllo dell'esposizione Il controllo dell'esposizione
In caso di scene in
esterno, occorre
specificare l'apposita
opzione per la Luce
diurna esterna.
Con un buon controllo di esposizione, la radiosity e' in
grado di produrre immagni estremamente fedeli sia
per interni che per esterni.
Scarica