Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Path Tracing

Path Tracing

An introduction to path tracing - a realistic rendering algorithm. Watch the original presentation here: https://youtu.be/x4oQsQ76OHY

7b7aefbc459629eb4c864b825894c9c4?s=128

Michael Fogleman

September 25, 2015
Tweet

Transcript

  1. Path Tracing Michael Fogleman September 2015 a.k.a. sweet graphics

  2. The Code speakerdeck.com/fogleman github.com/fogleman/pt These Slides

  3. Path tracing is a realistic rendering algorithm that simulates light

    bouncing around a scene.
  4. None
  5. “Global illumination” takes into account not only the light which

    comes directly from light sources (direct illumination), but also light rays that are reflected by other surfaces (indirect illumination). “Path tracing” falls under the umbrella of “global illumination” algorithms.
  6. The “Rendering Equation” Uhh…

  7. The “Rendering Equation” • Its own light output (emittance), and

    • The sum total of reflected light from all directions In layman’s terms, an object’s color depends on:
  8. Monte Carlo • Path tracing is a randomized “Monte Carlo”

    algorithm • Simulate billions of random light rays bouncing around the scene • Hundreds or thousands of rays per pixel • Random = different results each time you run it • More rays = less noise in the image
  9. None
  10. Basic Algorithm • For each pixel: • Cast a ray

    from the camera and through the pixel • Determine the nearest object in the scene that the ray intersects • Cast shadow ray(s) to determine direct lighting • Recursively cast more rays to determine indirect lighting, until some maximum depth is reached
  11. Bounces (Recursion Depth)

  12. Bounces: 0

  13. Bounces: 1

  14. Bounces: 2

  15. Bounces: 3

  16. Bounces: 4

  17. Bounces: 8

  18. Bounces: 16

  19. Noise

  20. Iterations: 1

  21. Iterations: 2

  22. Iterations: 4

  23. Iterations: 8

  24. Iterations: 16

  25. Iterations: 64

  26. Materials

  27. None
  28. Diffuse Specular Glossy Tinted Clear Mirror

  29. None
  30. Shapes • Spheres • Cubes • Triangles • Triangle Meshes

    • OBJ • STL
  31. k-d tree

  32. Textures

  33. Examples

  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. How does this differ from other rendering techniques?

  41. OpenGL

  42. Also OpenGL

  43. Live Coding Demo