Algoritmi per l’illuminazione interattiva di materiali traslucenti deformabili su GPU
description
Transcript of Algoritmi per l’illuminazione interattiva di materiali traslucenti deformabili su GPU
Algoritmi per l’illuminazione interattiva di
materiali traslucenti deformabili su GPU
Giacomo De Martino
Anno accademico 2005/2006
Università di Roma “La Sapienza”
Relatore Prof. Marco Schaerf
Correlatore Ing. Marco Fratarcangeli
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Materiali Traslucenti
Esempi: foglie, cera, giada, pelle, polpa della frutta, latte
Indizi fenomenologici:- riflessi speculari- Non serve colore- Riaffioramento colore- “riempito” di luce
OmogeneiEterogenei
Traslucente ≠ Trasparente
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Illuminazione digitale
• Equazione del rendering = trasporto di luce
dnxLxfxLxL ireo ,,,,,
BSDF
-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
Facili da misurare
s
X
a
,
,,,
,
,
40
,
0
,
sxLe
xddxLxpxe
xdxLxexL
sxx
isS xx
eaS xx
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
Derma
~0.25 mm
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
Quanta luce a distanza r?
Raggio incanalato
r
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Spazio tessituraConoscere 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
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
•Tasso interattivo = 10-30 fps•Evitare pre-computazioni
GPU!
1 ordine di grandezza
• GPU Observed GFLOPS• CPU Theoretical peak GFLOPS
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
blur
Render texture space light
blur
Linear combinationLinear combination
Rim & specular
…+
Shadow mapping
5 times
start
Texture mapping
+Textures
horizontal vertical
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Irradianza sottosuperficiale 1
Thin oil layer
Epidermis
Skin layers
Detail absorptionlayer
Dermis
Quanta luce (e di che colore)
che penetra dentro la superficie
Deve essere diffusa?
– Lighting*sqrt(diffuseCol)enter– Lighting*sqrt(diffuseCol)exit
55
211
2111
23
28,,
ENLNR
RNELD s
d
LNNLD ,Lambert
Ashikmin-Shirley
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
Combine multiple subsurface irradiance blurred version with Different RGB weights
Hierarchical Gaussian blur
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)
+
=
Bump map 1
Bump map 2
- Dettagli pori, rughe della pelle sono importanti- CReare una mappa unica ad alta risoluzione richiede troppa memoria
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)
Extremely small scale
Oily layer
Epidermis
uffuF 15
1
-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
Schlick
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 Radiance Irradiance
B L E
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
BRDF
• BRDF: 4D, light reflects same point hits surface
• Reciprocity
• Energy conservation
iiii
eeei,r
dωθωL
ωdLωωf
cos ωiωe
N
dωiθi
L=radiance
E=irradiance
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Materiali Volumetrici• Costruiamo l’equazione di rendering
volumetrico
,, xLxxL t
dxLxpxxL is ,,,,4
Funzione di fase
Henyey-Greenstein
backscattering isotropic scattering forward scattering 232
2
cos21
1cos
gg
gp
Riduzione radianza
Aumento radianza
variando g
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Diffusione multipla
ootoo xBFxL
,1
,
S
ioidio dxxxRxExB ,
iiiiiii dNFxLxE
,,
Facile dato B
Banale
DIFFICILE!!
iiii
A
o xdAdnLSL
...
2
......Come calcolarlo?
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
ooiidooiiooii xxSxxSxxS ,;,,;,,;, 1
otoiditooiid FxxRFxxS
,,1
,;,
Approssimazione dipolo
iiiit
oisooo ddsxLss
eFpxL
,,,2 0
1
Soluzione analitica per SSS
singolo
multiplo
iiiiii
A
ooiiooo xdAdnxLxxSxL
,,;,,2
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)E(Xin)
B(xout)
L(Xout)
2)
Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Ancora…
0 depth 1
Layer 0 Layer 1 Layer 2
0 depth 1
0 depth 1
Depth map
b
a
c
Light
Eye
Object
Depth map
di
do cos1
za
e
Depth peeling per oggetti concavi
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
Jansen
Multi livello Singolo livello