Éclairage global, volumes, sources larges
description
Transcript of Éclairage global, volumes, sources larges
![Page 1: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/1.jpg)
Éclairage global, volumes, sources larges
Nicolas Holzschuch
iMAGIS/GRAVIR IMAG
![Page 2: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/2.jpg)
Éclairage global
• Techniques locales :– textures, BRDF, rendu volumique
• Techniques globales :– radiosité, lancer de rayons
![Page 3: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/4.jpg)
Il manque quelque chose
• Éclairage global avec BRDF quelconques
• Et volumes participants
![Page 5: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/5.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/6.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/13.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/15.jpg)
![Page 16: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/19.jpg)
(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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/20.jpg)
Light ray-tracing
![Page 21: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/23.jpg)
![Page 24: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/24.jpg)
![Page 25: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/26.jpg)
![Page 27: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/27.jpg)
![Page 28: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/29.jpg)
![Page 30: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/30.jpg)
![Page 31: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/32.jpg)
Wj = degré de spécularité au point yj
![Page 33: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/33.jpg)
![Page 34: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/34.jpg)
![Page 35: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/35.jpg)
![Page 36: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/37.jpg)
Mutations
![Page 38: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/38.jpg)
Mutations
![Page 39: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/39.jpg)
Mutations
![Page 40: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/40.jpg)
Metropolis : résultats
![Page 41: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/41.jpg)
Bi-directional Path Tracing, 40 échantillons par pixel
![Page 42: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/42.jpg)
Metropolis LT, 250 mutations par pixel (même temps de calcul)
![Page 43: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/43.jpg)
Bi-directional Path Tracing, 210 échantillons par pixel
![Page 44: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/44.jpg)
Metropolis LT, 100 mutations par pixel (même temps de calcul)
![Page 45: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/45.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/46.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/47.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/48.jpg)
Effet du filtre
![Page 49: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/49.jpg)
Photon Map seule (5 mn)
![Page 50: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/50.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/51.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/52.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/53.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/54.jpg)
Caustiques
• Par la caustics photon map
• Visualisation directe de la photon map
• Pas faisable avec MCRT directement
![Page 55: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/55.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/56.jpg)
Photon map, 298 s
![Page 57: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/57.jpg)
Rendu complet, 5 mn+51 mn
![Page 58: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/58.jpg)
Milieux participants
![Page 59: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/59.jpg)
É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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/60.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/61.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/62.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/63.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/64.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/65.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/66.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/67.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/68.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/69.jpg)
![Page 70: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/70.jpg)
![Page 71: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/71.jpg)
![Page 72: Éclairage global, volumes, sources larges](https://reader036.fdocuments.net/reader036/viewer/2022062409/56814bfc550346895db8f72f/html5/thumbnails/72.jpg)
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