Path tracing


Path tracing

Path tracing is a photorealistic computer graphics rendering technique by James Kajiya when he presented his paper on the rendering equation in the 1980s. The main goal of path tracing is to fully solve the rendering equation. The image quality provided by path tracing is often superior to that of images produced using conventional ray tracing methods at the cost of much greater computation.

Although path tracing is very general and can simulate nearly all of the effects of light transport, it is a very inefficient algorithm. However, due to its accuracy, it can be used to generate reference images when testing the quality of other rendering algorithms. In order to get high quality images from path tracing, a very large number of rays need to be traced lest the image have lots of visible artifacts in the form of noise.

Path tracing is essentially a form of ray tracing whereby each ray is recursively traced along a path until it reaches a light emitting source where the light contribution along the path is calculated. This recursive tracing helps for solving the lighting equation more accurately than conventional ray tracing.

A simple path tracing pseudocode might look something like this:

Color TracePath(Ray r,depth) { if(depth=MaxDepth) return Black; // bounced enough times r.FindNearestObject(); if(r.hitSomething=false) return Black; // nothing was hit Material &m=r.thingHit->material; Color emittance=m.emittance; // pick a random direction from here and keep going Ray newRay; newRay.origin=r.pointWhereObjWasHit; newRay.direction=RandomUnitVectorInHemisphereOf(r.normalWhereObjWasHit); float cost=DotProduct(newRay.direction,r.normalWhereObjWasHit); Color BRDF=m.reflectance/PI; float scale=1.0*PI; Color reflected=TracePath(newRay,depth+1); return emittance + ( BRDF * scale * cost * reflected ); }

In the above example if every surface of a closed space emitted and reflected (0.5,0.5,0.5) then every pixel in the image would be white.

A variation of this algorithm is to trace rays in the opposite direction, from light sources to the camera, this is called photon tracing. Furthermore, these two algorithms can be combined to enhance the image results, which is called bidirectional path tracing.

Note that path tracing is not simply ray tracing with infinite recursion depth. In conventional ray tracing, lights are sampled directly when a diffuse surface is hit by a ray. In path tracing, a new ray is "randomly generated within the hemisphere of the object" and then traced until it hits a light(possibly never). This type of path can hit many diffuse surfaces before interacting with a light. This is simply not the case for ray tracing where there can be at most one diffuse interaction per eye ray.


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Path Tracing — Mit Path Tracing gerendertes Bild Wenn die gleiche Sz …   Deutsch Wikipedia

  • 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, pouvant aller jusqu à générer l image finale par une constitution progressive. L image n est d abord qu un… …   Wikipédia en Français

  • Path loss — (or path attenuation) is the reduction in power density (attenuation) of an electromagnetic wave as it propagates through space. Path loss is a major component in the analysis and design of the link budget of a telecommunication system.This term… …   Wikipedia

  • Tracing — Tra cing, n. 1. The act of one who traces; especially, the act of copying by marking on thin paper, or other transparent substance, the lines of a pattern placed beneath; also, the copy thus producted. [1913 Webster] 2. A regular path or track; a …   The Collaborative International Dictionary of English

  • Tracing cloth — Tracing Tra cing, n. 1. The act of one who traces; especially, the act of copying by marking on thin paper, or other transparent substance, the lines of a pattern placed beneath; also, the copy thus producted. [1913 Webster] 2. A regular path or… …   The Collaborative International Dictionary of English

  • Tracing paper — Tracing Tra cing, n. 1. The act of one who traces; especially, the act of copying by marking on thin paper, or other transparent substance, the lines of a pattern placed beneath; also, the copy thus producted. [1913 Webster] 2. A regular path or… …   The Collaborative International Dictionary of English

  • tracing — Trace Trace, v. t. [imp. & p. p. {traced}; p. pr. & vb. n. {tracing}.] [OF. tracier, F. tracer, from (assumed) LL. tractiare, fr.L. tractus, p. p. of trahere to draw. Cf. {Abstract}, {Attract}, {Contract}, {Portratt}, {Tract}, {Trail}, {Train},… …   The Collaborative International Dictionary of English

  • Forward Ray Tracing — Raytracing (dt. Strahlverfolgung[1] oder Strahlenverfolgung[2], in englischer Schreibweise meist ray tracing, seltener ray shooting) ist ein auf der Aussendung von Strahlen basierender Algorithmus zur Verdeckungsberechnung, also zur Ermittlung… …   Deutsch Wikipedia

  • Ray Tracing — Raytracing (dt. Strahlverfolgung[1] oder Strahlenverfolgung[2], in englischer Schreibweise meist ray tracing, seltener ray shooting) ist ein auf der Aussendung von Strahlen basierender Algorithmus zur Verdeckungsberechnung, also zur Ermittlung… …   Deutsch Wikipedia

  • Ray tracing — Raytracing (dt. Strahlverfolgung[1] oder Strahlenverfolgung[2], in englischer Schreibweise meist ray tracing, seltener ray shooting) ist ein auf der Aussendung von Strahlen basierender Algorithmus zur Verdeckungsberechnung, also zur Ermittlung… …   Deutsch Wikipedia