the beam radiance estimate
play

The Beam Radiance Estimate for Volumetric Photon Mapping Wojciech - PDF document

The Beam Radiance Estimate for Volumetric Photon Mapping Wojciech Jarosz in collaboration with Matthias Zwicker and Henrik Wann Jensen University of California, San Diego April 17, 2008 Thursday, 6 September 12 Motivation


  1. Measurement Equation • Radiance, , is a 5D function over position, , and direction, . 27 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  2. Measurement Equation • Radiance, , is a 5D function over position, , and direction, . • A measurement is a weighted integral of radiance: 27 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  3. Measurement Equation • Radiance, , is a 5D function over position, , and direction, . • A measurement is a weighted integral of radiance: = � W e , L ⇥ 27 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  4. Measurement Equation = � W e , L ⇥ 27 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  5. Measurement Equation = � W e , L ⇥ • Many global illumination algorithms can be expressed this way 28 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  6. Measurement Equation = � W e , L ⇥ • Many global illumination algorithms can be expressed this way • path tracing 28 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  7. Measurement Equation = � W e , L ⇥ • Many global illumination algorithms can be expressed this way • path tracing • radiosity 28 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  8. Measurement Equation = � W e , L ⇥ • Many global illumination algorithms can be expressed this way • path tracing • radiosity • particle tracing [Veach98] 28 Thursday, 6 September 12 * concisely written as an inner product between the radiance field and a weighting function * the weighting function is typically non-zero only within a small region of the whole domain

  9. Photon Mapping as a Measurement • Photon tracing generates N weighted sample rays, or photons ( � i , x i , ⌅ ⇥ i ) • : ray ( x i , ⇤ � i ) • : corresponding weight α i 29 Thursday, 6 September 12 * Veach showed that given certain constraints on how the photons are distributed, unbiased measurements can be estimated as a weighted sum * Veach showed this for particle tracing on surfaces, and we extend his derivation to include participating media * Arbitrary measurements can be computed using the photon map

  10. Photon Mapping as a Measurement • Photon tracing generates N weighted sample rays, or photons ( � i , x i , ⌅ ⇥ i ) • : ray ( x i , ⇤ � i ) • : corresponding weight α i • Unbiased measurements can be estimated as a weighted sum of photons: � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 29 Thursday, 6 September 12 * Veach showed that given certain constraints on how the photons are distributed, unbiased measurements can be estimated as a weighted sum * Veach showed this for particle tracing on surfaces, and we extend his derivation to include participating media * Arbitrary measurements can be computed using the photon map

  11. Photon Mapping as a Measurement � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 29 Thursday, 6 September 12 * Veach showed that given certain constraints on how the photons are distributed, unbiased measurements can be estimated as a weighted sum * Veach showed this for particle tracing on surfaces, and we extend his derivation to include participating media * Arbitrary measurements can be computed using the photon map

  12. Conventional Radiance Estimate • Veach showed that the conventional radiance estimate (for surfaces) is a measurement, where blurs photon contributions across surfaces. • Also true for conventional volumetric radiance estimate, but blurs within volume. � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 30 Thursday, 6 September 12

  13. Arbitrary Measurements Using the Photon Map • However, any arbitrary weighting function can be used to compute a different measurement . � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 31 Thursday, 6 September 12 * if we can represent the quantity we want to compute as a measurement, then we can compute estimates of that quantity using the measurement equation

  14. Arbitrary Measurements Using the Photon Map • However, any arbitrary weighting function can be used to compute a different measurement . • If we can express our problem as a measurement, we can estimate it using the photon map. � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 31 Thursday, 6 September 12 * if we can represent the quantity we want to compute as a measurement, then we can compute estimates of that quantity using the measurement equation

  15. Volume Rendering Equation object x � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 32 Thursday, 6 September 12

  16. Volume Rendering Equation object � s 0                                                                                      x x s � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 32 Thursday, 6 September 12

  17. Volume Rendering Equation � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 32 Thursday, 6 September 12

  18. Volume Rendering Equation � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 33 Thursday, 6 September 12

  19. Volume Rendering Equation � where: L i ( x t , ⌃ � ) = p ( x t , ⌃ � t ) L ( x t , ⌃ � t ) d � t � , ⌃ Ω 4 π � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 33 Thursday, 6 September 12

  20. Volume Rendering Equation � where: L i ( x t , ⌃ � ) = p ( x t , ⌃ � t ) L ( x t , ⌃ � t ) d � t � , ⌃ Ω 4 π � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 33 Thursday, 6 September 12

  21. Beam Radiance � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 34 Thursday, 6 September 12

  22. Beam Radiance � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 34 Thursday, 6 September 12

  23. Beam Radiance � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 34 Thursday, 6 September 12

  24. Beam Radiance � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 34 Thursday, 6 September 12

  25. Beam Radiance � s � T r ( x ↔ x t ) � s ( x t ) p ( x t , ⇥ t ) L ( x t , ⇥ t ) d ⇥ t dt ⇥ , Ω 4 π 0 Change integration over t into integration over V . � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 34 Thursday, 6 September 12

  26. Beam Radiance is a Measurement Change integration over t into integration over V . Use delta function, , to limit integration to line. � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 35 Thursday, 6 September 12 * delta function means we only get a useable estimate if a photon falls directly on the line

  27. Beam Radiance (Bias) In practice, use cylindrical blurring kernel, K . � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 36 Thursday, 6 September 12 * so in practice we replace the delta function with a blurring kernel which blurs radiance from the line into a cylinder. * the kernel allows photons that are not directly on the line to be used in the estimate * we have the freedom to choose the exact form of this blurring kernel

  28. Beam Radiance (Bias) � N ⇥ 1 ⇤ W e ( x i , � ⇥ i ) � i = � W e , L ⇥ E N i =1 36 Thursday, 6 September 12 * so in practice we replace the delta function with a blurring kernel which blurs radiance from the line into a cylinder. * the kernel allows photons that are not directly on the line to be used in the estimate * we have the freedom to choose the exact form of this blurring kernel

  29. Volumetric Photon Mapping Conventional Radiance Estimate 37 Thursday, 6 September 12

  30. Volumetric Photon Mapping Conventional Radiance Estimate 37 Thursday, 6 September 12

  31. Volumetric Photon Mapping Conventional Radiance Estimate 38 Thursday, 6 September 12

  32. Volumetric Photon Mapping Beam Radiance Estimate 39 Thursday, 6 September 12

  33. Volumetric Photon Mapping Beam Radiance Estimate 39 Thursday, 6 September 12

  34. What is ? • A fixed-size kernel results in a uniform blur of the photon map. • In this case, we need to find photons in fixed-radius cylinder about ray. 40 Thursday, 6 September 12

  35. Fixed Radius Comparison Beam Estimate 41 Thursday, 6 September 12 * When using a constant blurring radius, in the limit the conventional and beam radiance estimates are equivalent. * uses exactly the same photon map

  36. Fixed Radius Comparison Conv. Estimate Beam Estimate 41 Thursday, 6 September 12 * When using a constant blurring radius, in the limit the conventional and beam radiance estimates are equivalent. * uses exactly the same photon map

  37. Fixed Radius Comparison Conv. Estimate Beam Estimate (4:21) (4:15) 41 Thursday, 6 September 12 * When using a constant blurring radius, in the limit the conventional and beam radiance estimates are equivalent. * uses exactly the same photon map

  38. Fixed Radius Comparison Conv. Estimate Conv. Estimate Beam Estimate ( ∞ ) (4:21) (4:15) 41 Thursday, 6 September 12 * When using a constant blurring radius, in the limit the conventional and beam radiance estimates are equivalent. * uses exactly the same photon map

  39. Conventional Radiance Estimate Fixed Radius Nearest Neighbor 42 Thursday, 6 September 12 * however, in practice a fixed radius is rarely used, and the nearest neighbors method is used to adapt the radius to the local density of photons

  40. Adaptive ? Conventional Beam 43 Thursday, 6 September 12 * The conventional radiance estimate uses the k-nearest neighbor method at a point. * How can we generalize this along a line?

  41. Adaptive ? Conventional Beam Adaptive radius ? 43 Thursday, 6 September 12 * The conventional radiance estimate uses the k-nearest neighbor method at a point. * How can we generalize this along a line?

  42. Primal vs. Dual Primal 44 Thursday, 6 September 12 * in order to address this we turn to the primal vs. dual interpretation of density estimation * two di fg erent interpretations of density estimation * exactly equivalent for fixed-radius searches

  43. Primal vs. Dual Primal Dual 44 Thursday, 6 September 12 * in order to address this we turn to the primal vs. dual interpretation of density estimation * two di fg erent interpretations of density estimation * exactly equivalent for fixed-radius searches

  44. Primal vs. Dual Primal Dual allow radius to vary: adaptive kernel method 44 Thursday, 6 September 12 * in order to address this we turn to the primal vs. dual interpretation of density estimation * two di fg erent interpretations of density estimation * exactly equivalent for fixed-radius searches

  45. Volumetric Photon Mapping Beam Radiance Estimate 45 Thursday, 6 September 12

  46. Volumetric Photon Mapping Beam Radiance Estimate 46 Thursday, 6 September 12

  47. Volumetric Photon Mapping Beam Radiance Estimate 47 Thursday, 6 September 12

  48. Volumetric Photon Mapping Beam Radiance Estimate 48 Thursday, 6 September 12

  49. Adaptive Radius Comparison Conv. Estimate Conv. Estimate Beam Estimate 49 Thursday, 6 September 12

  50. Adaptive Radius Comparison Conv. Estimate Conv. Estimate Beam Estimate ( ∞ ) (6:38) (6:22) 49 Thursday, 6 September 12

  51. Algorithm 1) Shoot photons from light sources. 2) Construct a balanced kD-tree for the photons. 3) Assign a radius for each photon ( photon-discs ). 4) Create acceleration structure over photon-discs. 5) Render: • For each ray through the medium, accumulate all photon-discs that intersect ray. 50 Thursday, 6 September 12 * first two steps identical to regular photon mapping

  52. Algorithm Same as Regular Photon Mapping 1) Shoot photons from light sources. 2) Construct a balanced kD-tree for the photons. 3) Assign a radius for each photon ( photon-discs ). 4) Create acceleration structure over photon-discs. 5) Render: • For each ray through the medium, accumulate all photon-discs that intersect ray. 50 Thursday, 6 September 12 * first two steps identical to regular photon mapping

  53. Algorithm Same as Regular Photon Mapping 1) Shoot photons from light sources. 2) Construct a balanced kD-tree for the photons. 3) Assign a radius for each photon ( photon-discs ). 4) Create acceleration structure over photon-discs. 5) Render: • For each ray through the medium, accumulate all photon-discs that intersect ray. Our Method 50 Thursday, 6 September 12 * first two steps identical to regular photon mapping

  54. Algorithm object 1) Shoot photons from light sources. 51 Thursday, 6 September 12

  55. Algorithm 2) Construct a balanced kD-tree for the photons. 52 Thursday, 6 September 12

  56. Algorithm 2) Construct a balanced kD-tree for the photons. 53 Thursday, 6 September 12

  57. Algorithm 3) Assign a radius for each photon ( photon-discs ). Adaptive: perform k-NN search at each photon 54 Thursday, 6 September 12 * if we use a fixed kernel, then each radius is the same, otherwise the radius is computed from the local density of each photon

  58. Algorithm 4) Create a bounding-box hierarchy over photon-discs 55 Thursday, 6 September 12

  59. Algorithm kD-tree a g a b c f c f b d e g e d 4) Create a bounding-box hierarchy over photon-discs 56 Thursday, 6 September 12

  60. Algorithm kD-tree BBH a g a a b c f c f c f b d e g b d e g e d 4) Create a bounding-box hierarchy over photon-discs reuse hierarchical structure of kD-tree 56 Thursday, 6 September 12

  61. Algorithm 5) Render: For each ray through the medium, accumulate all photon-discs that intersect ray. 57 Thursday, 6 September 12

  62. Results • 1K horizontal resolution • 2.4 GHz Core 2 Duo (using one Core) • Comparing identical photon maps 58 Thursday, 6 September 12

  63. Smoky Cornell Box Conv. Estimate Beam Estimate 59 Thursday, 6 September 12

  64. Smoky Cornell Box Conv. Estimate Beam Estimate (4:03) (3:35) 59 Thursday, 6 September 12

  65. Lighthouse Beam Estimate Conventional Estimate 60 Thursday, 6 September 12

  66. Lighthouse Beam Estimate (1:05) Conventional Estimate (1:12) 60 Thursday, 6 September 12

  67. Cars on Foggy Street Beam Estimate Conventional Estimate 61 Thursday, 6 September 12

  68. Cars on Foggy Street Beam Estimate (1:53) Conventional Estimate (2:02) 61 Thursday, 6 September 12

  69. Summary • Theoretical reformulation of PM ( measurement equation ) • Beam radiance estimate • Eliminates ray-marching (and all high-frequency noise) in PM • Same photon map as conv. PM • Can handle adaptive search radius 62 Thursday, 6 September 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend