Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

72
Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG

Transcript of Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Page 1: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Éclairage global, volumes, sources larges

Nicolas Holzschuch

iMAGIS/GRAVIR IMAG

Page 2: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Éclairage global

• Techniques locales :– textures, BRDF, rendu volumique

• Techniques globales :– radiosité, lancer de rayons

Page 3: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

En résumé :

Méthode Sources Local Global

Lancer derayons

Points BRDF qc. Spéculaire

Radiosité Surfaces Diffus Diffus

Renduvolumique

Points Volume Non

Page 4: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Il manque quelque chose

• Éclairage global avec BRDF quelconques

• Et volumes participants

Page 5: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Éclairage global avec BRDF quelconques

• Monte-Carlo– Théorie– Pratique :

• ça marche pas

• pourquoi ?

– Bi-directional Path Tracing– Metropolis Light Transport– Photon Maps

Page 6: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Équation de rendu

• Équilibre énergétique :

• Radiance émise = radiance propre + radiance réfléchie

L( x , 0 , 0 ) Le ( x , 0 , 0 )

bd (x , 0 , 0 , , )Li ( x , , ) cosd

Page 7: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Solution formelle de l'équation

• Opérateur de réflexion– Opérateur intégral– Agit sur la radiance

bd (x,0 ,0 ,,)Li (x,,)cosd

(RL)(x,0 ,0 )

Page 8: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Solution formelle

• Donc :

• D'où :

• Avec une série de Neumann :

L Le RL

L[I R] 1 Le

L (Rn )Len0

Page 9: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Sens physique

• Radiance propre (Le)…

• plus radiance réfléchie une fois (RLe)…

• plus radiance réfléchie deux fois (R2Le)…

• plus radiance réfléchie trois fois…

L (Rn )Len0

Page 10: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Intégration de Monte-Carlo

• Chaînes de Markov

• Méthode générique de calcul d'intégrales multi-dimensionnelles

• Principe (en gros) :– Échantillonner au hasard la fonction à intégrer– Additionner les échantillons multipliés par leur

probabilité– Le résultat, c'est la valeur de la fonction

Page 11: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Intégration, dimension finie

• À titre d'exemple

• Résoudre : x=a+Mx

• Chemin de longueur k : =(n1, n2,…,nk)

– ni entier entre 1 et n.

• Valeur de xi pour ce chemin :

x=a+ Mkak=0

ˆ x i = mni−1nii=0

k

∏⎛ ⎝ ⎜ ⎞

⎠ ank

1p(ω)

Page 12: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Dimension finie (suite)

• Moyenne sur tous les chemins– Valeur exacte = moyenne sur tous les chemin possibles

– Valeur approchée = moyenne sur tous les chemins testés

• Probabilité d'un chemin :– Produit de l'état initial (n0) et des probabilités de chaque

transition entre état (nini+1)

– =(n1, n2,…,nk)p(ω) =p(nk,nk−1)...p(n2,n1)p(n1,n0)p(n0)

Page 13: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Équation de rendu

• Pareil, mais en dimension infinie :– Choisir un chemin au hasard,– De longueur k– Calculer la valeur de l'état pour ce chemin– Moyenne des valeurs trouvées, pondérée par la probabilité

du chemin

• Chemin : – Chemin parcouru par la lumière– État : irradiance sur une surface– Transition : passage d'une surface à une autre

Page 14: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Chemin

• Point de départ : un pixel de l'image, x• Premier état : la radiance de la surface visible de

ce pixel, au point x'• État suivant : la radiance d'une surface visible de

x', x"• Transition : BRDF au point x', venant de x'', dans

la direction de x• État suivant : la radiance d'une surface visible de

x'', x'''...

Page 15: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 16: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Chemin

• Pour chaque étape de la chaîne de Markov, mettre à jour l'intensité du pixel :

• : BRDF, quelconque• G : terme géométrique, 1/r2 et visibilité

I(x0) =G(x0,x1)×

E(x1 → x0) +

ρ(x1,→ x0,x2 → )×G(x1,x2)×

E(x2 → x1)+

ρ(x2,→ x1,x3 → )×G(x2,x3)×E(x3 → x2)+

ρ(x3,→ x2,x4 → )× K( )

⎝ ⎜ ⎜

⎠ ⎟ ⎟

⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟

⎜ ⎜ ⎜ ⎜ ⎜ ⎜

⎟ ⎟ ⎟ ⎟ ⎟ ⎟

Page 17: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Choix du chemin

• Pixel de départ, fixé.• Pour chaque point d'intersection :

– Tirer la direction du rayon réfléchi au hasard

– En tenant compte de la BRDF

• Recommencer pour chaque pixel– 10, 100, 1000 échantillons par pixel

• L'image converge lentement :– Neige au début, puis image bruité, puis image

Page 18: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Terminaison du chemin

• Nombre aléatoire t entre 0 et 1• Comparer avec la réflectance

– t > : absorption

– t < : réflexion

• Autres techniques:– Poids w de la particule influencé par la réflectance

– Terminaison si w en dessous d'un certain seuil

– Roulette russe : on augmente le poids des chemins survivants

Page 19: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

(Distributed) Light Ray-Tracing

• Pareil, mais les rayons partent des sources lumineuses– Sources lumineuses potentiellement surfaciques

– Échantillonnage spatial de la source

• Solution indépendante du point de vue– Stockage sur les surfaces

• Bonne représentation des caustiques• Bruité : phase de lissage des échantillons

– Reconstruction de la fonction de radiance

Page 20: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Light ray-tracing

Page 21: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Méthodes multi-passes

• MCRT : – moins il y a de rayons, plus ça converge vite

– Cas idéal : toutes les surfaces sont presque spéculaires

– Cas le pire : toutes les surfaces sont diffuses

• Idée :– Traiter chaque chemin par la méthode adaptée

• Les surfaces diffuses par la radiosité

• L'éclairage direct par Eye Ray-Tracibng

• Les caustiques par Light Ray-Tracing

• Les choses compliquées par MCRT

Page 22: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Combinaison des méthodes

• Problèmes :– Ordre des méthodes– Représentation commune (LRT/Radiosité)

• Ordre :– Light Ray-Tracing– Passe de radiosité– Passe de MCRT– Passe de Eye Ray-Tracing

Page 23: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 24: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 25: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Bi-directional Path Tracing

• Combinaison de deux méthodes :– Light Ray-Tracing : chemin partant de la source– Eye Ray-Tracing : chemin partant de l'œil– Plus des rayons connectant chaque point des

deux chemins– Valeur au pixel calculée par ces rayons

Page 26: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 27: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 28: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

BDPT : flux à un pixel

• Cij : contribution après i rebonds depuis la source, j rebonds depuis l'œil

• wij : poids. À choisir (degré de liberté)

– 1 si i=0, 0 sinon : MCRT classique

Φ = wij Cijj=0

Ne

∑i=0

Nl

Page 29: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 30: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 31: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Choix des poids

• Wj = degré de spécularité au point yj

– Surfaces diffuses : light path + important

– Surfaces spéculaires : eye path + important

wij = Wkk=0

j−2

∏ pour i =0

= 0 pour j =0

= Wkk=0

j−2

∏⎛ ⎝ ⎜ ⎞

⎠ 1−Wj( ) sinon

Page 32: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Wj = degré de spécularité au point yj

Page 33: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 34: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 35: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 36: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Metropolis Light Transport

• Au départ, MCRT– Nombreux chemins initiaux

• Mutations des chemins– Bouger un point du chemin– Allonger le chemin

• Techniques pour choisir les mutation de façon efficace

Page 37: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Mutations

Page 38: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Mutations

Page 39: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Mutations

Page 40: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Metropolis : résultats

Page 41: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Bi-directional Path Tracing, 40 échantillons par pixel

Page 42: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Metropolis LT, 250 mutations par pixel (même temps de calcul)

Page 43: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Bi-directional Path Tracing, 210 échantillons par pixel

Page 44: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Metropolis LT, 100 mutations par pixel (même temps de calcul)

Page 45: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon Maps

• Première passe : construction– On envoie des photons dans la scène

• En partant de la source

– Path-tracing classique :• Ils sont réfléchis, meurent…

• Chaque photon touchant une surface est stocké dans la photon map de la surface

• Avec sa direction incidente

• Balanced k-d tree

Page 46: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Affichage des photon maps

• Pour afficher un point x d'une surface :– On prend la sphère de centre x de rayon r tel que N

photons sont dans la sphère

– Élément de surface d'aire r2

Lr(x,ψ r)= ρr(x,ψ r,ψ i )d2Φi(x,ψ i )

dAdωi

dωiΩ∫

≈ ρr(x,ψ r,ψ i )ΔΦp(x,ψ i,p)

πr2p=1

N

Page 47: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Filtre des photons

• Densité de photons trop faible :– Flou

• Pour éviter ça : – On filtre. L'importance des photons dépend de la

distance à x : wp =max(0,1−dp /(kr))

Lr(x,ψ r)≈

ρr(x,ψ r,ψ i )ΔΦp(x,ψ i,p)wpp=1

N

∑1− 2

3k( )πr2

Normalisation du filtre

Page 48: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Effet du filtre

Page 49: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon Map seule (5 mn)

Page 50: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon Maps : algorithme complet

• Étape 1 : construire 2 photon maps– Caustiques : photons à haute énergie,très dense

– Éclairage global : moins de photons, à peu près tous la même énergie

– Stockage de photons d'ombre

• Étape 2 : Rendu– Par MCRT

– Séparer les termes pour un meilleur traitement

– Traitement précis ou approché

Page 51: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Rendu

• Traitement précis :– Pour les surfaces visibles directement de l'œil, ou après quelques

réflexions spéculaires– Si la longueur du rayon est faible

• Traitement approché :– Si le rayon a été réfléchi par une surface diffuse– Si le poids du rayon est faible

• Séparation :– Éclairage direct– Réflexions spéculaires– Caustiques– Éclairage indirect

Page 52: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Éclairage direct

• Shadow rays• Traitement précis :

– Utilise les photons d'ombre

– Si tous les photons voisins sont identiques (ombre ou lumière) pas besoin de lancer un rayon

– Sinon, rayon d'ombrage

• Traitement approché :– On prend la global photon map (sans shadow ray)

Page 53: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Réflexions spéculaires

• Radiance réfléchie par les surfaces spéculaires ou quasi-spéculaires

• MCRT– Importance guidée par la BRDF– Cas optimal : converge vite.

Page 54: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Caustiques

• Par la caustics photon map

• Visualisation directe de la photon map

• Pas faisable avec MCRT directement

Page 55: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Éclairage indirect

• Lumière réfléchie au moins une fois sur une surface diffuse

• Douce• Calcul approché : déjà vu• Calcul précis : MCRT

– En utilisant la photon map et la BRDF :• Directions incidentes importantes

– Irradiance gradient : interpolation des valeurs voisines

Page 56: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon map, 298 s

Page 57: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Rendu complet, 5 mn+51 mn

Page 58: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Milieux participants

Page 59: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Équation des milieux participants

• Coefficient d'absorption: a

• Coefficient de dispersion : s

• Coefficient d'extinction : t=a+s

• Émission de lumière : Le

• Variation de la radiance :

dfLLLds

dLiseat ),(),(

Page 60: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Résoudre l'équation

• Dépendance volumique– Complexité cubique

– Plus de conservation de la lumière

• Simplifications :– Sans dispersion

– Dispersion, milieux isotropes

• Sans dispersion:

LLds

dLeaa

Page 61: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Sans dispersion

• On intègre :

• : transmittance le long du rayon :– proportion de lumière transmise

s

t duu

es 0

)(

)(

s

ae duusuuLsLsL0

)()()()()0()(

Page 62: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Sans dispersion

• Intégration facile avec RT/MCRT

• Pire : milieux homogènes :

• Modèle simple de brouillard – utilisé dans les cartes graphiques

)1()0()( se

s aa eLeLsL

Page 63: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Dispersion isotrope : discrétisation

• Fonction de phase constante : f=1/4• On discrétise tout (volumes et surfaces)

– Radiosité des surfaces : Bi=Li

– Radiosité des volumes : Bk=Jk

• Facteurs de forme :– Surface-surface: SiSj

– Surface-Volume: SiVk

– Volume-Volume: VkVm

Page 64: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Dispersion isotrope : discrétisation

• Surfaces:

• Volumes:

volumessurfaces

kkijjiiiiii BVSBSSAEAB

volumessurfaces)(

)()(4)(4 mmkjkj

t

skkakkt BVVBVS

k

kVEkVBk

kt

s Rk

k

)(

)(= albédo du volume

Page 65: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Dispersion isotrope

• Résolution en deux passes :– Résolution du problème discret

• Calcul de la radiance pour toutes les surfaces et les volumes

– Affichage par les méthodes de rendu volumique• Plus traitement des surfaces

• Interpolation essentielle

Page 66: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon Map pour milieux participants

• Y compris dispersion anisotrope• On trace des photons partout, y compris dans le

volume• Photon dans le volume :

– Sans interagir (traversée)

– Avec interaction (dispersion/absorption)• Si interaction, stockage

• Probabilité d'interaction :

F(x) =1−τ xs,x( ) =1−e− κ (s)ds

xs

x

Page 67: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Photon maps et milieux participants

Li(x,r ω )= f(x,

r ω , ′

r ω )L(x,

r ω )

Ω∫

≈1

κs(x)f(x,

r ω , ′

r ω p)

ΔΦp(x,r ′ ω p)

43πr3

p=1

N

Page 68: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Rendu des photon maps

• Ray-marching algorithm• Marche par étapes

– Atténuation de la radiance au point précédent

– Addition de l'émission et du in-scattering• Supposés constants par étape

– Étapes adaptatives si variation brutale

L(xk,r ω ) = κa xk( )Le(xk,

r ω )Δxk

+ κs xk( )Li(xk,r ω )Δxk

+ e−κ xk( )ΔxkL(xk−1,

r ω )

Page 69: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 70: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 71: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.
Page 72: Éclairage global, volumes, sources larges Nicolas Holzschuch iMAGIS/GRAVIR IMAG.

Bibliographie

• Monte-Carlo :– Kajiya,J. T., The rendering Equation, Computer

Graphics (ACM Siggraph '86 Proceedings), vol. 20, n° 4, p. 143-150.

• Multi-passes :– Shirley, P., A Ray Tracing Method for

Illumination Calculation in Diffuse-Specular Scenes, proceedings of Graphics Interface '90, p. 205-212, http://www.cs.utah.edu/~shirley/papers/gi90/gi90.ps.Z

– Shirley, P, Hybrid Radiosity/Monte Carlo Methods, Siggraph 94 Advanced Radiosity Course, http://www.cs.utah.edu/~shirley/papers/mc94/mc94.ps.Z

– Chen, S. E., Rushmeier, H. E., Miller, G. et Turner, D., A Progressive Multi-Pass Method for Global Illumination, Computer Graphics (ACM Siggraph '91 Proceedings), vol. 25, n° 4, p. 164-174.

–Lafortune, E. P. et Willems, Y. D., Bi-directional Path Tracing, proceedings of Third International Conference on Computational Graphics and Visualization Techniques (Compugraphics '93), p. 145-153, http://www.graphics.cornell.edu/~eric/Portugal.html

–Veach, E. et Guibas, L. J., Metropolis Ligth Transport; Computer Graphics (ACM Siggraph '97 Proceedings), vol 31, n° 3, p. 65-76. http://graphics.Stanford.EDU/papers/metro/

•Photon Maps :–Jensen, H. W., Global Illumination Using Photon Maps,

Rendering Techniques '96 (Proceedings of the Seventh Eurographics Workshop on Rendering),1996, p. 21-30, http://graphics.stanford.edu/~henrik/papers/ewr7/

–Jensen, H. W. et Christensen , P. H., Efficient Simulation of Light Transport in Scenes with Participating Media Using Photon Maps, Computer Graphics (ACM SIGGRAPH '98 Proceedings), 1998, p. 311-320, http://graphics.stanford.edu/~henrik/papers/sig98.html