Diapositiva 1 - Dipartimento di Informatica e Sistemistica

Università di Roma “La Sapienza”
Algoritmi per l’illuminazione interattiva
di
materiali traslucenti deformabili su GPU
Giacomo De Martino
Relatore
Correlatore
Prof. Marco Schaerf
Ing. Marco Fratarcangeli
Anno accademico 2005/2006
Materiali Traslucenti
Esempi: foglie, cera, giada, pelle, polpa della frutta, latte
Indizi fenomenologici:
- riflessi speculari
- Non serve colore
- Riaffioramento colore
- “riempito” di luce
Omogenei
Eterogenei
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Illuminazione digitale
• Equazione del rendering = trasporto di luce
   

BSDF
  

Lo x,   Le x,    fr x, ,  Li x,     n d 

-Conservazione energia
-Linearità
-Omogeneità spaziale
Differenti materiali
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Materiali Volumetrici
•
•
•
•
Spessore
Indice di Rifrazione
Coefficiente assorbimento
Coefficiente diffusione
 
L x,  

S
0

S
0

a
s
e   x , x a  x Le  x   dx  
e   x , x s  x 

X

4


Facili da misurare

p x ,  ,  Li x ,   d  dx  
e  x , x  s L x  s , 
Difficile da
calcolare

Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Diffusione sottosuperficiale (sss)
• benche un effetto globale, è sostanzialmente locale a
causa del decadimento esponenziale
• Diffusione in un oggetto ha un effetto molto piccolo
sull’apparenza di un altro oggetto
• anche all’interno di uno stesso oggetto, ha piccolo
effetto in un altro punto della superficie se la distanza tra i
due punti è grande
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Proprietà della pelle 1
- Dominata da diffusione sottosuperficiale
~6% riflessione diretta, 94% sottosuperficiale
- Riflessione e Diffusione sono differenti nelle lunghezze d’onda rosse
verde e blu
- Diffusione modellata male assumendo un singolo livello di materiale
quasi uniforme
- Cambio dell’indice di rifrazione tra aria e pelle
- Hanno luogo riflessione e rifrazione di Fresnel
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Proprietà della pelle 2
- Luce entra in un punto ed esce in un altro (Importante!)
- La superficie rugosa e oliosa ha trasmissione non uniforme (sottile)
- 1/10 attraverso primo livello – La luce è già diffusa!
- Tracciamento luce totale – ignora direzione
- Ogni luce rifressa indietro è diffusa (uguale in ogni direzione)
Strato olioso sottile
Epidermide
~0.25 mm
Derma
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Proprietà della pelle 3
•
•
•
•
Quanta luce a distanza r?
Nome: profilo di diffusione del materiale
Differente profilo per canale rosso verde, blu
Collezionare luce che arriva in ogni punto e spargerla nei
punti vicini
Raggio incanalato
Quanta luce a
distanza r?
r
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Spazio tessitura
Conoscere quantità di luce per ogni punto dell’oggetto
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
George Borshukov (Matrix Reloaded)
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Esempio Spazio Tessitura
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Piattaforma
•Tasso interattivo = 10-30 fps
•Evitare pre-computazioni
• GPU Observed GFLOPS
• CPU Theoretical peak GFLOPS
GPU!
1 ordine di grandezza
2 core CPU
GPU
CPU to GPU
CPU to system
memory
GPU to graphics
memory
30 GFLOPS
200 GFLOPS
1 GB/s
8 GB/s
30 GB/s
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Panoramica
•
•
•
•
Circa 1,400 istruzioni per pixel
13 passate di rendering
11 mappe di colore, maschere, mappe di “disturbo”(5 mappe di dettaglio)
Modello di illuminazione basato sulla fisica
5 times
Render texture
space light
start
+
Shadow mapping
blur
+
Textures
horizontal
vertical
…
blur
Linear
combination
Texture mapping
Rim & specular
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Irradianza sottosuperficiale 1
Quanta luce (e di che colore)
che penetra dentro la superficie
Deve essere diffusa?
Thin oil layer
Detail absorption
layer
Epidermis
Dermis
Lambert
DL, N   N  L
5
5
 
 

28Rd
N

L
N

E




1  Rs 1  1 
DL, E , N  
1

1

  
 
23
2
2
  
 
 
Skin layers
Ashikmin-Shirley
– Lighting*sqrt(diffuseCol)enter
– Lighting*sqrt(diffuseCol)exit
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Irradianza sottosuperficiale 2
• Ombre (alta freq)
• Luce indiretta (bassa freq)
=
AO + Ambiente
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Convoluzione
Hierarchical Gaussian blur
Combine multiple
subsurface irradiance
blurred version with
Different RGB weights
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Risultati
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Avvertimenti
• Cuciture tessitura
- Usare buon clearColor
- Creare maschera cuciture e usarla nella passata
finale
• Correzione distorsioni accurata
- Un pixel nello spazio tessitura != distanza costante
del mondo reale
- Troppa sfocatura porta ad “effetto cera”
- Calcola mappe distorsione con derivate coord UV
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Aggiungere dettagli (meso-scale)
- Dettagli pori, rughe della pelle sono importanti
- CReare una mappa unica ad alta risoluzione richiede troppa memoria
Bump map 1
+
Bump map 2
=
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Uno sguardo da vicino
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Specular (micro-scale)
-specular BRDFs have
-Roughness parameter “m”(inverse relation to
exponent)
-Index of refraction (use 1.4)
-Phong and Blinn-Phong aren’t ideal for skin
Torrance-Sparrow
Oily layer
Epidermis
Extremely small scale
Schlick


F  u   f   1  f  1  u 
5
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Correzione Gamma
• Il monitor sta mentendo!
• luminosità visualizzata = ValorePixel^2.2
• Foto & tessiture disegnate a mano avranno pixel non lineari
• Per convertirle a lineari:
- C’ = C^2.2
- sRGB se lo supporta l’hardware
(Non correggere mappe che codificano informazioni non di colore)
• Invertire deformazione prima di scrivere sul framebuffer
- C’ = C^1/2.2
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Evoluzione
Solo mappa
colore
Solo sottosuperficiale
finale
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Conclusions & future work
• So we have a scalable skin shading tecnique (tune
resolution map, render target and #layers composition)
• This skin shader is good to reproduce skin in low lit
environment such as closed environment or night day
time;
• Next:
– include real-time Ambient Occlusion and real-time environement
Irradiance
– HDR lighting
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Grazie!
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Sommario
• Obiettivo: rendering interattivo
fotorealistico pelle volto umano
• Studio Materiali Traslucenti
• Tecniche illuminazione nelle produzioni
digitali
• Implementazione interattiva
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Radiant Flux

Radiosity
B
Radiance
L
Irradiance
E
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
BRDF
• BRDF: 4D, light reflects same point hits
surface
L=radiance
dLeωe 
fr ωi,ωe  
Li ωi  cos θi dωi
N
ωe
θi
ωi
dωi
E=irradiance
•
•
Reciprocity
Energy conservation
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Materiali Volumetrici
• Costruiamo l’equazione di rendering
volumetrico
  Lx,     x Lx,  
Riduzione
radianza
t
Funzione di fase
   Lx,     x  px, ,   L x,  d
s
 4

i 





Aumento
radianza
variando g
Henyey-Greenstein
pcos   
backscattering
isotropic scattering
forward scattering
1  g
1  g2
2
 2 g cos 
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino

32
Diffusione multipla
Come calcolarlo?
 
Lo...    S ... L...  ni  i d i dAxi 
A 2
Lxo, o  
1

Ft  , o  Bxo 
Bxo    E xi  Rd xi, xo  dxi
Facile dato B
DIFFICILE!!
S
E xi  
   

 L xi, i F  , i Ni  i d i
Banale

Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Soluzione analitica per SSS

   S x ,  ; x ,  Lx ,   n   d dAx 
Lo xo, o 
i
A 2

i

o
o
i
i

i
i
 
i
S xi, i; xo, o  S 1 xi, i; xo, o  Sd xi, i; xo, o
i

Approssimazione dipolo


singolo Sd xi, i; xo, o 
multiplo
Lo
1
1

  
 
Ft  , i Rd xi  xo Ft  , o

x ,       Fp ,  e s  sLx ,  ds d

o
o
i
s
t
o
i
i
i
i
2 0
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Jansen
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Implementazione con mappe profondità
1)
I(Xin)
2)
E(Xin)
B(xout)
L(Xout)
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Ancora…
Light
Depth
map
do
1 e
di
 z
a
cos 
Eye
Object
Depth peeling per oggetti
concavi
Depth map
Layer 0
a
Layer 1
Layer 2
c
b
0
depth
1
0
depth
1
0
depth
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
1
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Jansen
Multi livello
Singolo livello
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino