1/30 rendu par tracé de chemins essi2 george drettakis http:

30
1/30 Rendu par tracé de chemins ESSI2 George Drettakis http: //www-sop.imag.fr/reves/George.Drettakis/cours/ ESSI2/index.html

Upload: celine-cheron

Post on 03-Apr-2015

110 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

1/30

Rendu par tracé de chemins

ESSI2

George Drettakis

http:

//www-sop.imag.fr/reves/George.Drettakis/cours/ESSI2/index.html

Page 2: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

2/30

Radiance et Irradiance

ddA

dL

oo cos

,x(2

Radiance à x, dans la direction

dE(x, i L( i)cos id

Irradiance différentielle à x, arrivant de la direction

x

ooi i

Page 3: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

3/30

Fonction de Dispersion Bi-Directionelle

f (x, i o) dL(x,o )

dE(x, i)

dL(x, o)

L(x, i )cos id

BSDF à x, réfléchissant la lumière quiarrive par i dans la direction O

x

ooi i

Page 4: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

4/30

Équation de Rendu

L(x, Le(x)

f (x, i o) L(xM(x,i ) ,-i)cosd

)(x,x iM Fonction qui renvoie la première intersectiond’un rayon depuis x dans la direction i

est l’ensemble de directions autour de x

Page 5: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

5/30

x

L(x, Le(x)

f (x, i o) L(xM(x,i ) ,-i)cosd

Tracer le chemin depuis l’œil vers la source de lumièreChoisir des directions aléatoire à chaque rebondissement

écran

Intuition

Page 6: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

6/30

L(x, Le(x,

f (x, i o)L(xM(x,i ) ,-i)cosd

Equation récursive : chaque valeur de L dépendde la valeur de L ailleurs

x

écran

Page 7: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

7/30

Comment estimer la valeur de l’intégral ?

• Eléments finis – pour certains cas plutôt

spécifiques (diffus etc.)– nécessite une subdivision en

mailles, algos + s.d. complexes– souvent très efficace, indépendant

de point de vue

• Monte Carlo– algorithme « naturel »– traite le cas général

Page 8: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

8/30

Notions de base pour l’intégration par

Monte Carlo

• Variable aléatoire qui suit une densité :

• X ~ p(x)

• une mesure

Pr(X Si) p(x)Si

d

p(x) 0

p(x)dS 1

Page 9: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

9/30

Espérance

• Espérance d’une fonction uni-dimensionnelle f (X)=Y, X ~ p:

• Variance :

E f (x) f (x)p(x)d

E Yii

E Yi

i

E aY a2E Y

2)]([)( XEXEXV

Page 10: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

10/30

Intégration par Monte Carlo

• Approximer un intégral par un estimateur FN

• Pourquoi ?

I f (x)d

FN 1N

f (Xi )p(Xi )i 1

N

dxf

dxpxp

xf

N

Xp

Xf

NEFE

N

i

N

i i

iN

)(

)()(

)(1

? ?)(

)(1

1

1

Page 11: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

11/30

Exemple concret pour l’intégration Monte Carlo

• Cas général

• Cas diffus

• R, Le connus, reste l’intégral

dL

LL

f

iiM

e

i

cos),- )(x,x(

R(x))x(,x(

R(x) ) x,(

o

L(x, Le(x)

f (x, i o)L(xM(x,i ) ,- i)cosd

Page 12: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

12/30

Exemple diffus pour Monte Carlo

• Choisir des directions aléatoires suivants une densité p

• Si on choisit p ~ cos

• Importance sampling

)(

cos),- )(x,x(R(x))x(,x(

i

iiMe

p

LLL

),- )(x,x(R(x))x(,x( iiMe LLL

Page 13: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

13/30

Algorithme

• Radiance( rayon r ) if r intersecte une surface à x

choisir une nouvelle direction aléatoire w, et rayon r’

return Le(x) + Radiance(r’)

else return fond

• Comment choisir la nouvelle direction aléatoire ?

Page 14: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

14/30

Échantillonnage d’une densité

• Comment échantillonner une densité

• Fonction de répartition:

P(a) Pr{X a} p(x)d0

a

0

1

Nous tirons une variable aléatoire uniforme (par ex. avec random()), et après

)(1 Pa

)(1 Pa

Page 15: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

15/30

Echantillonnage des directions

• Densité pour le cas diffus

• En inversant P(), uniforme

• Dimensions multiples : si indépendantes, chaque dimension séparément

p(,) cos

P(,) p()d 1

cos sindd

1

2sin2

1

2(1 cos2 )

)'2),1(arccos(),(

Page 16: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

16/30

Exemple diffus

• Avantage : simplicité– il suffit d’avoir un système de tracer

de rayon

• Par contre, solution très lente, beaucoup de bruit

• 1 éch/pix 4 éch/pixel

Page 17: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

17/30

… mais ça converge

• 32 éc/pix 128 éch/pix

Page 18: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

18/30

Echantillonnage des sources [Shirley96]

• Échantillonner les source séparément (S directions des sources) - stratified sampling

L(x, Le(x) R(x)

L(xM(x, i ) ,-i)cosd

Le(x) R(x)

L(xM(x, i ) ,-i)cosd S

L(xM(x, i ) ,-i)cosdS

Page 19: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

19/30

Échantillonnage des sources

• Difficile de trouver l’ensemble de directions S

• Convertir en aire par la relation:

• (changement de mesure !)

L(xM(x,i ) ,-i)cosdS

d dAcosxM x

2

Page 20: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

20/30

Échantillonnage des sources

• Il suffit d’échantillonner la source – par exemple par x ~ p =1/A

• … ce que donne (V visibilité)

L(xM(x,i ) ,-i)V cos dA cos '

xM x2

S

L(xM(x, i ) ,-i)Vcos cos'

xM x2

p

L(xM(x,i ) ,-i)Vcos cos '

xM x2 A

Page 21: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

21/30

Échantillonnage des sources Résultat : amélioration

• 1 et 4 échan/pixel … sans avec éch. de sources

• Se généralise à plusieurs sources

Page 22: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

22/30

Scènes générales

• La méthode de tracé de chemins n’est pas limitée dans les BSDF qu’elle peut traiter

• Il suffit de trouver les densités appropriées pour échantillonner les BSDF

Page 23: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

23/30

Méthode originale[Kajiya86]

• Caustiques (concentration de lumière par réfraction)

• BSDF’s non-diffuses

Page 24: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

24/30

Scène générale

• 128 échantillons/pixel

Page 25: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

25/30

Convergence

Yi f (X) / p(X)

FN 1

NYi

i 1

N

V[Y] E[Y 2 ] E[Y]2 f 2 (x)p(x)

d(x) I 2

V[FN ] V1N

Yii1

N

1

N2V Yi

i1

N

1N

V[Y ]

donc

[FN ] 1

NY

Indépendamment de la dimension de l’intégral !!!

Page 26: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

26/30

Estimateur non-biaisé

• L’erreur est FN - I, est le biais est la quantité:

l’estimateur est non-biaisé

• Généralement on veut minimiser l’erreur moyenne carrée E[(FN-I)2]

[FN ] E[FN I]

si [FN ] 0 ou E[FN ] I

E (FN I)2 V FN FN

Page 27: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

27/30

Importance Sampling (principe)

• Rappeler l’exemple p ~ cos/• En général :

• Comme on ne connaît pas I, nous utilisons une approximation qui a la « forme » de f(x)et qui peut être integrée

p(x) cf (x)

c 1

f (x)d

F f (X )

p(X )

1

c I

Page 28: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

28/30

Deuxième partie

• Probabilités sur les chemins

• Multiple importance sampling (combiner les estimateurs)

• Bi-directional path-tracing

• Metropolis

Page 29: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

29/30

Lecture

• Thèse de Eric Veach– pages 29-52,65-66, 75-94,

chapitre 3

• Notes de cours de Pete Shirley– chapitres 6,7 et Appendix E

http://www-imagis.imag.fr/~George.Drettakis/CoursDEA/index.html

Page 30: 1/30 Rendu par tracé de chemins ESSI2 George Drettakis http:

30/30

Autres références bibliographiques

• [Kajiya86] J. Kajiya, “ The rendering equation ”, SIGGRAPH Conference proceedings 1986

• [Shirley96] Peter Shirley and Changyaw Wang and Kurt Zimmerman, “ Monte Carlo Techniques for Direct Lighting Calculations”ACM Transactions on Graphics, 15(1), pp. 1-36, January 1996