• Aucun résultat trouvé

Le tracé de chemins [Kaj86] est, historiquement, la méthode de référence pour la production dŠimages de qualité permettant lŠutilisation de tous types de surfaces (impli- cites, explicites, etc), de tous types de FDRB (difuses, brillantes, transparentes, etc) et de sources lumineuses (ponctuelles, surfaciques, etc). En efet, sa construction reposant directement sur lŠETL et sur les méthodes de Monte-Carlo, est consistante et non biaisée. Le terme émissif de lŠETL est directement calculable, la diiculté réside dans lŠintégrale du second terme. Pour approcher celle-ci, Kajiya propose dŠabord de remplacer le calcul de la luminance incidente par la luminance sortante dans la direction −i ; celle-ci est directement issue du point y = τ(x, i), i.e. le point dŠintersection entre le rayon (x, i) et la scène :

L(x, o) = Le(x, o) +

Sx

Lo(τ(x, i), −i)f(x, i, o)(nx· i) dωi.

La deuxième étape consiste à appliquer une méthode de Monte-Carlo aĄn de calculer une approximation de lŠintégrale :

⟨L(x, o)⟩ = Le(x, o) + 1 N Nk=1 Lo(τ(x, ik), −ik) f(x, ik, o) (nx· ik) p(ik)

où ik est la direction choisie après la kème réĆexion et p(ik) est la probabilité dŠavoir

tiré cette direction.

Cette déĄnition est cependant toujours récursive, et appliquée directement elle conduit à une explosion combinatoire. En efet, elle signiĄe quŠà chaque point dŠintersection y =

τ(x, i), N nouveaux rayons sont générés. Pour résoudre ce problème, Kajiya propose de ne

construire quŠun seul chemin (i.e. N = 1), i.e. un seul rayon est relancé à chaque réĆexion. Ainsi, le processus consiste à construire de manière incrémentale (cf. Ągure 2.12) un chemin dans la scène puis à évaluer celui-ci. La valeur numérique calculée est alors la suivante :

⟨L(x, o)⟩ =

N

i=1

Pi(x, o)

où Pi(x, o) est la contribution du chemin i. Une formulation possible de cette contri-

bution est la suivante :

Pi(x, o) = ∞  k=0 Pk(xk, ik−1) où Pk(x

k, ik−1) est la contribution du chemin après k interactions avec la scène. Cette

expression de la contribution dŠun chemin indique que lŠon ajoute les contributions au fur et à mesure que le chemin est construit. Ainsi :

(a) (b)

(c) (d)

Figure 2.12 Ű Construction incrémentale des chemins dans une méthode de tracé de chemins. A chaque surface atteinte, une nouvelle direction est choisie.

P0(x0, i−1) = Le(x, o)

P1(x1, i0 ) = fr(x, o, i0)(nx· i0)Le(x1, −i0)

P2(x2, i1 ) = fr(x, o, i0)(nx· i0)fr(x, −i0, i1)(nx1 · i1)Le(x2, −i1) P3(x

3, i2 ) = ...

La longueur du chemin est cependant toujours Ąnie ; si une borne sur la longueur des chemins était ajoutée alors lŠestimateur serait biaisé. Une roulette russe est mise en œuvre pour limiter la longueur des chemins sans imposer de borne maximale. En efet, un test est efectué après chaque surface atteinte pour savoir si le chemin doit être pousuivi.

Le principal problème du tracé de chemins est sa vitesse de convergence. AĄn dŠob- tenir une erreur faible, il est nécessaire dŠexplorer lŠensemble de la scène (matériaux, objets, sources lumineuses). Pour certaines scènes complexes (FDRB, sources lumineuses et géométries complexes), ceci requiert la construction de plusieurs dizaines de milliers de chemins. Or ce coût de construction est important à cause de lŠévaluation de la fonc- tion lancé de rayons. Par conséquent, pour certaines conĄgurations les temps de calculs peuvent atteindre plusieurs dizaines dŠheures. La Ągure 2.13 donne des exemples de rendu obtenus par la méthode de tracé de chemins.

3.2.1 Calcul avec estimation du prochain événement

Le chemin a une contribution non nulle seulement si un de ses noeuds est situé sur une source lumineuse. LorsquŠune scène comporte des sources lumineuses ponctuelles ou

3. Suivi de chemins 25

(a) (b)

(c) (d)

Figure 2.13 Ű Exemple de rendu par tracé de chemins. (a) 1 chemin par pixel. (b) 32 chemins par pixel. (c) 128 chemins par pixel. (d) 2048 chemins par pixel.

(a) (b)

Figure2.14 Ű Construction des chemins pour un tracé de chemin avec calcul des contri- butions directes. En plus du chemin original (a), pour chacun des impacts, une contribu- tion directe (en pointillés) est calculée (b).

de très petites tailles la probabilité pour que cet événement survienne est très faible. Dans un tel cas, beaucoup de chemins sont inutiles.

Dutré [Dut96] suggère dŠutiliser une méthode appelée estimation du prochain évé-

nement. LŠidée est dŠutiliser une version partitionnée de lŠETL (direct et indirect, cf.

section 1.4.3), ainsi, à chaque réĆexion une contribution directe est évaluée. Ceci permet une réduction de la variance puisque la probabilité dŠobtenir une contribution non nulle par chemin augmente. La Ągure 2.14 montre le processus efectué lors de lŠévaluation dŠun chemin. La Ągure 2.15 montre une comparaison entre un tracé de chemin simple et la version avec prise en compte des contributions directes.

(a) (b)

Figure 2.15 Ű Exemple de rendu par tracé de chemins pour un même temps de calcul. (a) Sans prise en compte des contributions directes. (b) Avec estimation du prochain événement.

3.2.2 Tracé de chemin bidirectionnel

Lorsque les chemins atteignent les sources lumineuses seulement après de nombreuses réĆexions, peu de chemins ont une contribution non nulle. Dans ce cas, même lŠapproche avec estimation du prochain événement nŠest pas eicace.

(a) (b)

Figure 2.16 Ű Exemple de tracé de chemin bidirectionnel. (a) Deux chemins sont géné- rés : un issu de la caméra, lŠautre de la source. (b) Les chemins sont combinés en reliant une partie dŠun chemin avec une partie dŠun autre.

Pour résoudre ce problème, Lafortune et al. [LW93] et Veach et al. [VG94] ont proposé simultanément une méthode appelée tracé de chemins bidirectionnel. Deux chemins sont construits : lŠun partant de lŠoeil et lŠautre partant de la caméra. Toutes les combinaisons des chemins sont alors construites pour donner la contribution du pixel. La Ągure 2.16 donne un exemple de combinaisons réalisables pour deux chemins de longueur 2, la Ą- gure 2.17 donne un exemple de rendu dans une scène avec un éclairement indirect (les sources lumineuses sont situées en dehors de la pièce).

Cette méthode permet dŠexplorer un grand nombre de chemins mais a pour principal défaut son coût. En efet, en plus de la construction des chemins de base, chacune des combinaisons nécessite des tests de visibilité. Ceux-ci représentent alors la majorité des

3. Suivi de chemins 27

Figure 2.17 Ű Exemple de tracé de chemin bidirectionnel pour un même nombre de chemins par pixel. (a) Tracé de chemin (b) Tracé de chemin bidirectionnel. Le tracé de chemins bidirectionnel "capte" mieux les chemins qui passent depuis lŠouverture de la porte dŠoù un bruit plus faible.

temps de calculs dŠune image. Bien que des approches probabilistes basées sur une roulette russe permettent de diminuer le nombre de tests [LW95, Vea97], le coût total reste élevé.

Documents relatifs