Accueil🇫🇷Chercher

Path tracing

Le path tracing est une technique de lancer de rayon (ray tracing), utilisée pour déterminer l'illumination globale d'une scène 3D en résolvant l'équation du rendu. L'image finale est générée par une constitution progressive : d'abord un brouillard de pixels, elle s'affine progressivement jusqu'à être débarrassée presque complètement de son « grain ». Le path tracing a été introduit par James Kajiya en 1986[1].

Image d'une scène 3D constituée de trois sphères, obtenue par path tracing.

Cette technique de rendu d'images 3D consiste à lancer des rayons dans des directions aléatoires depuis l'objectif de la caméra, jusqu'à ce que ces rayons atteignent une surface géométrique. À chaque impact, le rayon va rebondir une nouvelle fois, en perdant de l'énergie à chaque rebond, jusqu'à atteindre la couleur noire ou une source lumineuse. La luminosité et couleur du tout premier point d'impact sera donc une pondération de la lumière et la couleur de tous les rebonds qui ont eu lieu pour un rayon.

L'intérêt de cette méthode est qu'elle n'est pas limitée dans la quantité de rebonds et réalise un modèle de la lumière ambiante intégral.

Le path tracing bidirectionnel est une variante, qui, en plus d'envoyer des rayons depuis la caméra, en envoie également depuis les sources lumineuses de la scène (photon mapping). L'image résultante est une fusion des résultats obtenus.

Il existe une surcouche à cet algorithme, qui le rend plus optimal, qui est le Metropolis Light Transport (MLT). Le MLT va essayer de « trouver » des chemins intéressants, par exemple quand deux pixels proches calculés par le path tracing ont une grande différence de luminosité/couleur. Dans ce cas, le MLT va tenter d'explorer cette voie pour essayer de finaliser prioritairement cette zone a priori problématique. Il réduit le côté aléatoire de l'algorithme de path tracing et le rend plus adaptatif.

Les images produites par ce type d'algorithme nécessitent aujourd'hui des temps de calcul très longs, pour obtenir des images très « réalistes », qui contiennent toujours du « grain ».

Une image calculée avec ce type d'algorithme n'est jamais terminée, le calcul étant de type convergent. C'est l'utilisateur qui stoppera lui-même le calcul manuellement, ou qui lui donnera une limite de temps, par exemple, ou de qualité.

Monte Carlo Light Transport

C'est une méthode aléatoire. Le nom Monte Carlo fait référence aux résultats aléatoires obtenu dans les casinos.

Le principe est de lancer des rayons dans des directions aléatoires et d'enregistrer les résultats ainsi obtenus. Plus il y a de rayons générés aléatoirement, plus l'image générée va converger vers le résultat désiré.

C'est une méthode relativement simple permettant de générer des images non biaisées mais possédant généralement beaucoup de bruit, car beaucoup de ces lancers de rayons aléatoires ne contribuent pas significativement à la génération de l'image.

Par exemple, imaginons une pièce éclairée située contre une pièce obscure. La caméra est située dans la pièce obscure et une porte entre-ouverte permet d'apercevoir la pièce éclairée. Les lancers de rayons simplistes seront bien souvent inefficaces car ils auront des difficultés à trouver le chemin pour passer la porte entre-ouverte. Les problèmes sont similaires quand il y a des surfaces brillantes, des caustiques ou beaucoup de lumière indirecte.

Metropolis Light Transport

  • Le MLT va d'abord crĂ©er des chemins alĂ©atoire en utilisant le path tracing Ă  double direction (bidirectional path tracing). Ce premier Ă©chantillonnage va devenir l'Ă©chantillonnage de rĂ©fĂ©rence.
  • Ă€ partir de ce premier Ă©chantillonnage, il va faire de lĂ©gères modifications alĂ©atoires aux chemins pour constituer l'image.
  • Small mutation : Après un certain nombre de chemins infructueux, il va changer la rĂ©fĂ©rence en se basant sur les chemins les plus intĂ©ressant (plus lumineux par exemple) rencontrĂ©s lors des lĂ©gères modifications de chemins fait prĂ©cĂ©demment.
  • Large mutation : De temps en temps, le MLT va complètement modifier l’échantillonnage de rĂ©fĂ©rence en prenant de nouveaux chemins de manière totalement alĂ©atoire. Cela dans le but de ne pas rester toujours liĂ© aux mĂŞmes chemins les plus lumineux.

Moteurs de rendu du marché utilisant partiellement ou intégralement cette technique

Logiciels gratuits

Logiciels libres

Notes et références

  1. (en) James T. Kajiya, « The rendering equation », Proceedings of the 13th annual conference on Computer graphics and interactive techniques - SIGGRAPH '86, ACM Press,‎ , p. 143–150 (ISBN 978-0-89791-196-2, DOI 10.1145/15922.15902, lire en ligne, consulté le )
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.