Università di Roma “La Sapienza” Algoritmi per l’illuminazione interattiva di materiali traslucenti deformabili su GPU Giacomo De Martino Relatore Prof. Marco Schaerf Correlatore 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 Traslucente ≠ Trasparente Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Illuminazione digitale Equazione del rendering = trasporto di luce 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 X Facili da misurare 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 Raggio incanalato r Quanta luce a distanza r? Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Conoscere quantità di luce per ogni punto dell’oggetto 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 GPU! 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 blur Render texture space light Linear 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 absorption layer Dermis Quanta luce (e di che colore) che penetra dentro la superficie Deve essere diffusa? Lighting*sqrt(diffuseCol)enter Lighting*sqrt(diffuseCol)exit 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
Hierarchical Gaussian blur 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 Correzione distorsioni accurata - 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 Extremely small scale Oily layer Epidermis 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
Solo sottosuperficiale 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 Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
BRDF BRDF: 4D, light reflects same point hits surface L=radiance Reciprocity Energy conservation L=radiance ωi ωe N dωi θi E=irradiance Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Materiali Volumetrici Costruiamo l’equazione di rendering volumetrico Riduzione radianza Funzione di fase Aumento radianza variando g Henyey-Greenstein backscattering isotropic scattering forward scattering Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Diffusione multipla Come calcolarlo? Facile dato B DIFFICILE!! Banale Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Soluzione analitica per SSS Approssimazione dipolo singolo multiplo 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à E(Xin) B(xout) L(Xout) 2) 1) I(Xin) Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Depth peeling per oggetti concavi Ancora… Light Eye Object Depth map di do Depth map b a c Depth peeling per oggetti concavi 0 depth 1 Layer 0 Layer 1 Layer 2 0 depth 1 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 Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino