360 likes | 454 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 del colore - “riempito” di luce Omogenei Eterogenei Traslucente ≠ Trasparente Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Matrix Reloaded (off-line) [George Borshukov] Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Risultati (interattivo) 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 (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 • 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
Spazio Tessitura Conoscere quantità di luce per ogni punto dell’oggetto 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
Algoritmo Tessiture(colore, dettagli, specularità) Combinazione lineare mappe diffusione Diffusione sottosuperficiale e convoluzioni 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
Gerarchia di Convoluzioni • Collezionare luce che arriva in ogni punto e spargerla nei punti vicini • profilo di diffusione del materiale r Combina più mappe di irradianza sottosuperficiale convolute con differenti pesiRGB 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
Oliosolayer Epidermide Scala estremamente piccola Specularità (micro-scale) • - BRDFs speculari hanno • - Parametro di rugosità “m”(relazione inversa all’esponente) • -Indice di rifrazione (usa 1.4) • Phong e Blinn-Phong non sono l’ideale per la pelle • combnazione di diversi lobi per evitare uniformità • Torrance-Sparrow Schlick Dip. di Informatica e Sistemistica -Università di Roma "La Sapienza" - Giacomo De Martino
Uno Sguardo da Vicino (video) 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
Conclusioni & Lavoro Futuro • Tecnica scalabile per rendering pelle • (modifica risoluzione tessiture,buffer di rendering e # di livelli da comporre • Ottimo per riprodurre ambienti poco illuminati (ambienti chiusi o luce della sera) • Prossimamente: • Includere Occlusione Ambientale real-time e illuminazione HDR 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
(off-line) [jansen] 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
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 Grandezze Fondamentali 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
Soluzione analitica per SSS Approssimazione dipolo singolo multiplo 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
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