370 likes | 497 Views
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.
E N D
Università di Roma “La Sapienza” Algoritmi per l’illuminazione interattiva dimateriali 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
BSDF Illuminazione digitale • Equazione del rendering = trasporto di luce • 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
Strato olioso sottile ~0.25 mm Epidermide Derma 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) Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Raggio incanalato r 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? 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
GPU Observed GFLOPS • CPU Theoretical peak GFLOPS GPU! Piattaforma • Tasso interattivo = 10-30 fps • Evitare pre-computazioni 1 ordine di grandezza Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
5 times Render texture space light + start Shadow mapping horizontal vertical … + blur blur Textures Linear combination Texture mapping Rim & specular 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 Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Thin oil layer Detail absorption layer Epidermis Dermis Skin layers Irradianza sottosuperficiale 1 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 • Luce indiretta (bassa freq) • Ombre (alta 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 DifferentRGBweights 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
Bump map 1 + Bump map 2 = Aggiungere dettagli (meso-scale) - 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
Oily layer Epidermis Extremely small scale 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 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 Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
N ωe ωi dωi θi BRDF • BRDF: 4D, light reflects same point hits surface • Reciprocity • Energy conservation 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 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
1) 2) I(Xin) E(Xin) B(xout) L(Xout) Implementazione con mappe profondità Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Depth map do Light di Layer 0 Layer 1 Layer 2 Eye Object 0 depth 1 0 depth 1 0 depth 1 Depth map a c b Ancora… 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 Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino