m2-imagesperso.univ-lyon1.fr › jean-claude.iehl › public › educ › m2mri › 2006 ›...

27
Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light Transport M2-Images B. P´ eroche et J.C. Iehl December 5, 2006 B. P´ eroche et J.C. Iehl M2-Images

Upload: others

Post on 25-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

M2-Images

B. Peroche et J.C. Iehl

December 5, 2006

B. Peroche et J.C. Iehl M2-Images

Page 2: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Calculer l’eclairement indirect

I integrer les autres parties ...

I quelle est l’energie reflechie vers p par p′ ?

B. Peroche et J.C. Iehl M2-Images

Page 3: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Reformulation pour 1 rebond

Lo(p, ωo) =

∫Ω+−ΩL

fr (p, ωi → ωo)Lo(t(p, ωi ),−ωi )|cosθi |dωi

Lo(p′, ω′o) =

∫ΩL′

fr (p′, ω′i → ω′o)Le(p

′′,−ω′i )|cosθ′i |dω′i

1 echantillon = 1 interaction lumiere / matiere

comment generaliser a un nombre quelconque d’interactions ?

B. Peroche et J.C. Iehl M2-Images

Page 4: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Reformulation sur les aires

notations :

L(p′ → p) = L(p′, ω)

avec ω = p − p′

fr (p′′ → p′ → p) = fr (p

′, ωi → ωo)

avec ωi = p′′ − p′

et ωo = p − p′

B. Peroche et J.C. Iehl M2-Images

Page 5: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Reformulation sur les aires (2)

L(p′ → p) = Le(p′ → p)

+

∫A

fr (p′′ → p′ → p)L(p′′ → p′)G (p′′ ↔ p′)dA(p′′)

et G (p′′ ↔ p′) = V (p′′ ↔ p′)|cosθ′′||cosθ′|||p′′ − p′||2

B. Peroche et J.C. Iehl M2-Images

Page 6: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Reformulation sur les aires (3)

1 echantillon = 1 chemin d’interactions lumiere / matieres

developper l’equation ...

B. Peroche et J.C. Iehl M2-Images

Page 7: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (1)

L(p1 → p0) = Le(p1 → p0)

+∫A fr (p2 → p1 → p0)Le(p2 → p1)G (p2 ↔ p1)dA(p2)

+∫A

∫A fr (p3 → p2 → p1)Le(p3 → p2)G (p3 ↔ p2)

fr (p2 → p1 → p0)G (p2 ↔ p1)dA(p3)dA(p2)

+∫A

∫A

∫A ...

+... ...

1 echantillon = 1 chemin d’interactions lumiere / matieres

pi = p0, p1, p2, ..., pi

... et refactoriser

B. Peroche et J.C. Iehl M2-Images

Page 8: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (2)

L(p1 → p0) =∞∑i=1

P(pi )

avec pi = p0, p1, p2, ..., pi

et P(pi ) =

∫Ai−1

Le(pi → pi−1)T (pi )dA(p2)...dA(pi )

et T (pi ) =i−1∏j=1

fr (pj+1 → pj → pj−1)G (pj+1 ↔ pj)

B. Peroche et J.C. Iehl M2-Images

Page 9: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (3)

Plutot barbare ...mais tous les algorithmes de rendu sont des cas particuliers decette formulation.

B. Peroche et J.C. Iehl M2-Images

Page 10: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (4)

Les derniers problemes :

1. L(p1 → p0) =∑∞

i=1 P(pi ) est une somme infinie !

2. Comment generer des chemins / echantillons pour calculerl’integrale ?

B. Peroche et J.C. Iehl M2-Images

Page 11: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (5)

Tronquer une somme infinie :

La BRDF conserve l’energie et il n’existe pas de reflecteur parfait,donc T (pi ) tend vers 0 lorsque i tend vers l’infini.

I fixer a priori la longueur maximale des chemins : negliger desreflexions introduit une erreur systematique.

I faire un choix statistique : roulette russe.cf. ”Particle Transport and Image Synthesis”,J. Arvo et D. KirkSIGGRAPH 90, pages 63–66.

B. Peroche et J.C. Iehl M2-Images

Page 12: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Formulation generale (6)

Generer des chemins de longueur quelconque :

I choisir uniformement i + 1 points sur la surface totale de lascene,

I les construire par i reflexions successives.

I p0 est sur la camera,

I pi est sur la source de lumiere.

B. Peroche et J.C. Iehl M2-Images

Page 13: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Exemple : suivi de chemins

Exemple de generation de chemins :

I P(p1) + P(p2) + P(p3)

I Les chemins de longueurs >= 4 sont negliges.

I Choisir uniformement 3 points sur la surface totale de lascene : comment calculer p(pi ) la probabilite de choisir unpoint ?

I Choisir le point suivant en echantillonnant la BRDF :comment calculer p(pi+1) = f (pi ) la probabilite de choisirpi+1 connaissant pi ?

B. Peroche et J.C. Iehl M2-Images

Page 14: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Generation de chemins : choisir le point suivant

Echantillonner la BRDF de pi par importance :

I choisir une direction ωi ,

I trouver le point pi+1 visible dans la direction ωi ,

I reformuler sur la mesure d’aires :

dA(pi+1) = dωi||pi − pi+1||2

|cos θi |

I calculer la probabilite du chemin p(p).

B. Peroche et J.C. Iehl M2-Images

Page 15: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Exemples :

10 chemins / pixel 100 chemins par pixel

B. Peroche et J.C. Iehl M2-Images

Page 16: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Exemples :

400 chemins / pixel 1000 chemins par pixel

B. Peroche et J.C. Iehl M2-Images

Page 17: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Generation de chemins : problemes

Tous les chemins doivent pouvoir etre generes avec une probabilite

non nulle ... pgflastimage

1000 chemins / pixel

B. Peroche et J.C. Iehl M2-Images

Page 18: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Generation de chemins : autres solutions ...

partir de la camera

est arbitraire ...

partir des sources de lumieres

est egalement possible,

suivi de chemins bidirectionnelgenerer 1 chemin depuis la camera, 1 autre depuis les sources etcomptabiliser les echanges d’energie entre eux.cf. ”Bidirectional Estimators for Light Transport”Eric Veach, Leonidas J. GuibasRendering Techniques 94,

pas de raisons particulieres de ne pas faire autre chose !

B. Peroche et J.C. Iehl M2-Images

Page 19: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Eclairement global : Photon Maps

”Global Illumination using Photon Maps”

Henrik Wann JensenRendering Techniques ’96. Springer-Verlag, pp. 21–30, 1996

B. Peroche et J.C. Iehl M2-Images

Page 20: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Photon Map

Technique en 2 passes :

1. depose des photons :I construction de chemins depuis les sources de lumieres,I choix de la direction reflechie proportionnelle a la BRDF,I depose des photons sur les objets diffus,I roulette russe pour tronquer les chemins.

2. collecte des photons :I construction de chemins P(p2) depuis la camera,I estimation de la densite de photons autour de p2

I choix des directions p1 → p2 ?

B. Peroche et J.C. Iehl M2-Images

Page 21: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Photon Map

I construit une distribution de photons proportionnelle a Li ,

I partitionne l’equation de rendu :direct + indirect + caustiques,

I applique une methode de reduction de variance dans chaquecas.

I mais : estimation de densite des photons fragile (biais vsvariance).

B. Peroche et J.C. Iehl M2-Images

Page 22: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Photon Map : problemes ...

correct ... moins correct ...

B. Peroche et J.C. Iehl M2-Images

Page 23: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Eclairement global : Instant Radiosity

”Instant Radiosity”

Alexander KellerSIGGRAPH 97, pp. 49-56. ACM Press

Technique en 2 passes :

1. depose des Virtual Point Lights (VPL) :I construction de chemins depuis les sources de lumieres,I choix de la direction reflechie proportionnelle a la BRDF,I depose des VPL sur les objets diffus a chaque rebond,I absorption moyenne ou roulette russe pour tronquer les

chemins.

2. integration des VPLI un VPL est une source ponctuelle, toutes les methodes

standards sont utilisables.

B. Peroche et J.C. Iehl M2-Images

Page 24: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Instant Radiosity

I remplace les sources de lumieres de la scene par unedistribution de VPL,

I construit une distribution de VPL proportionnelle a Li ,

I ne considere que les matieres diffuses,

I tous les chemins sont construits depuis les sources de lumieres.

I mais : integration des VPL par openGL (cf. ”Instant”) ...

B. Peroche et J.C. Iehl M2-Images

Page 25: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Instant Radiosity

2 secondes ...

B. Peroche et J.C. Iehl M2-Images

Page 26: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Eclairement global : Metropolis Light Transport

Robust Monte Carlo Methods for Light Transport Simulation

Eric VeachPh.D. dissertation, Stanford University, December 1997.lien sur la page du cours.

Construire une distribution d’echantillons proportionnelle a Lo !

I utilise l’algorithme de Metropolis-Hastings pour construire ladistribution,

B. Peroche et J.C. Iehl M2-Images

Page 27: M2-Imagesperso.univ-lyon1.fr › jean-claude.iehl › Public › educ › M2MRI › 2006 › c… · Eclairement global Suivi de chemins Photon Maps Instant Radiosity Metropolis Light

Eclairement globalSuivi de chemins

Photon MapsInstant Radiosity

Metropolis Light Transport

Metropolis-Hastings

Algorithme :

I x ← initial path()

I image ← 0I for ← 1 to N

I y ← mutate(x)I a← accept(y |x)I if random() < a then x ← yI record sample(image, x)

I return image

B. Peroche et J.C. Iehl M2-Images