Modelli Globali Daniele Marini
Calcolare interazione-luci materiali non solo su singoli oggetti Tenere conto della interazione della luce che viene riflessa dagli oggetti
Modelli e metodi di rendering Nei metodi locali: modello di illuminazione + shading (+ smoothing) Metodi globali: modelli di illuminazione più accurati + rendering 2 metodi principali View dependent View independent
Dipendente dalla vista: Ray tracing Simula il percorso dei raggi luminosi Modello di illuminazione: Whitted + estensioni
Indipendente dalla vista: Radiosity Simula il bilancio energetico in un ambiente chiuso Modello Lambertiano + estensioni
Equazione fondamentale del rendering Kajia 1986
Modello di Whitted E’ un modello ibrido, unisce aspetti locali e globali Il raggio che giunge al pixel nella direzione di COP è il risultato di: Raggio iniziale+ Raggio trasmesso+ Raggio riflesso Metodo ricorsivo, albero delle riflessioni e trasmissioni multiple
Ray casting Raggi ombra (shadow) Specchi (mirror) Raggi trasmessi e riflessi
scena Albero corrispondente
Problemi Dipende da “search” Calcolo intersezioni critico Ottimizzazione: Bounding volumes Parallelizzazione
Il calcolo delle intersezioni Intersezione raggio/sfera - soluzione algebrica Definiamo un raggio da COP al pixel sul piano immagine con l’equazione parametrica: Per t<0 i punti sul raggio sono dietro COP, t=0 va evitato per problemi numerici
Intersezione raggio/sfera Equazione sfera: Sostituire equazione raggio in equazione sfera e si risolve rispetto a t
Intersezione raggio/sfera Equazione quadratica, 2 soluzioni: Se complesse non c’e’ intersezione Se reali ordinare le soluzioni t0 e t1: il minimo rappresenta la prima interesezione Il punto intersezione è: La normale alla superficie è:
Intersezione raggio/sfera Passi: Calcolare coefficiente eq. II grado: 8 + e -, 7 * Calcolo discriminante: 1-, 2*, 1= Determinazione intersezione minima, eventuale calcolo della seconda: 1-, 1*, 1 sqrt, 1=; event. 1-,1*, 1= Calcolo punto intersezione: 3+, 3* Calcolo normale al punto: 3-, 3* Totale 17 + o - 17*, 1 sqrt, 3=
Intersezione raggio/sfera: soluzione geometrica Origine raggio interna alla sfera? Calcola lunghezza vettore centro-origine e controlla con raggio sfera Se il raggio è esterno e punto lontano dalla sfera no intersezione (verifica direzione raggio) Trova distanza retta raggio da centro, valuta segno: t orig t orig
Intersezione raggio/sfera: soluzione geometrica Se esiste calcola interesezione, sfruttando distanza retta da centro Numero operazioni totale: 16+ o -, 13*,1 sqrt, 3=
Altri effetti Ray tracing distribuito: Ray tracing a due passate: motion blur profondità di campo Ray tracing a due passate: Simula scattering della luce attraverso un mezzo (acqua, vetro) I passo: luce II passo: occhio Modellazione spettrale delle sorgenti di luce Tessiture
Ray tracing distribuito Ogni pixel viene sovracampionato, ad es. 3x3 volte Le posizioni dei pixel sovracampionati possono essere regolari o casuali: jittering Il pixel assume un valore come media dei campioni Jittering consiste nel perturbare la posizione dei socracampioni rispetto a una loro distribuzione regolare
Jittering Se i campioni sono prevalentemente al centro si ha rumore minimo ma alto aliasing Se i campioni sono meno concentrati al centro si ha meno aliasing e più rumore Si può predisporre una matrice di jitter con una distribuzione Gaussiana
Profondità di campo Occhio e lente fotografica hanno un’apertura finita; ogni punto appare come un piccolo cerchio sul piano immagine: cerchio di confusione L’immagine prodotta dal foro stenopeico è perfettamente a fuoco
Jittering per profondità di campo Se il punto campionato è sul piano focale, i punti jittered sono assai vicini e la loro media non si scosta troppo dal valore del punto centrale Se il punto campionato è lontano dal piano focale i punti jittered sono distanti e la loro media crea un effetto di sfocatura
Jittering per motion blur Si può sovracampionare l’immagine temporalmente, usando matrice di jitter a istanti di tempo distinti La maggiore velocità di un oggetto esalta l’effetto mosso
Modelli di illuminazione avanzati Riflettività bidirezionale
Funzioni di Fresnel indica il rapporto tra l'intensità della radiazione incidente e quella della radiazione trasmessa all'interno del materiale radiazione polarizzata trasmessa da un dielettrico, dipende dall’angolo di incidenza e di trasmissione:
Funzione di Fresnel per dielettrico l’intensità della radiazione trasmessa dipende sia dalla direzione della radiazione incidente sia dalla direzione della radiazione trasmessa; Le due direzioni sono coplanari
Funzione di Fresnel per conduttore n2 è l'indice di rifrazione del mezzo conduttore (quello dell'aria è pari a 1) e k2 è il coefficiente di attenuazione del conduttore L’intensità della luce trasmessa nel conduttore dipende solo dalla direzione della luce incidente:
Funzioni di Fresnel Con le funzioni di Fresnel si controlla l’attenuazione dell'energia luminosa nella riflessione o trasmissione con conduttori e dielettrici
Trattamento superficiale
Modello di Cook e Torrance luminanza riflessa da un superficie come funzione della riflettività bidirezionale riflettività espressa come somma di una componente diffusiva e di una speculare se il materiale è un dielettrico puro kd=1 e ks=0 se il materiale è un conduttore puro kd=0 e ks=1
Modello di Cook e Torrance La riflettività diffusiva rd viene considerata puramente lambertiana la riflettività speculare è approssimata con l'equazione:
Modello di Cook e Torrance F rappresenta la funzione di Fresnel descrive la componente parzialmente trasmessa nel materiale e successivamente riflessa
D funzione di rugosità, indica la percentuale di microfacce orientate come la direzione di osservazione modello gaussiano: con a angolo tra L e H, c costante arbitrara, m indice di rugosità normalizzato, quando prossimo a 0 superficie liscia, prossimo a 1 molto rugosa modello di Beckmann:
G parametro geometrico tiene conto dell'orientamento delle microfaccette superficiali, che possono proiettare un'ombra su faccette vicine (shadowing) o produrre una riflessione speculare verso la direzione di osservazione o infine la luce riflessa può essere parzialmente bloccata da altre faccette (masking).