recent advances in adap ve sampling and reconstruc on for
play

Recent Advances in Adap.ve Sampling and Reconstruc.on for - PowerPoint PPT Presentation

Recent Advances in Adap.ve Sampling and Reconstruc.on for Monte Carlo Rendering Deriva've Analysis Wojciech Jarosz wjarosz@disneyresearch.com Thursday, July 16, 15 Path tracing -


  1. Recent ¡Advances ¡in ¡Adap.ve ¡Sampling ¡and ¡ Reconstruc.on ¡for ¡Monte ¡Carlo ¡Rendering Deriva've ¡Analysis Wojciech ¡Jarosz wjarosz@disneyresearch.com Thursday, July 16, 15

  2. Path ¡tracing ¡-­‑ ¡diffuse ¡scene 128 ¡paths/pixel 2 Thursday, July 16, 15

  3. Diffuse ¡indirect ¡illumina'on ¡is ¡smooth 3 Thursday, July 16, 15

  4. Diffuse ¡indirect ¡illumina'on ¡is ¡smooth Perfect ¡candidate ¡for ¡sparse ¡sampling ¡and ¡interpola2on 3 Thursday, July 16, 15

  5. Interpolated ¡indirect ¡illumina'on Irradiance ¡Caching [Ward ¡et ¡al. ¡1988] 1M ¡pixels ¡-­‑ ¡4K ¡cache ¡points 4 Thursday, July 16, 15

  6. Irradiance ¡Caching ¡Algorithm [Ward ¡et ¡al. ¡1988] 5 Thursday, July 16, 15

  7. Irradiance ¡Caching ¡Algorithm if at least one cached illumination value near x then [Ward ¡et ¡al. ¡1988] 5 Thursday, July 16, 15

  8. Irradiance ¡Caching ¡Algorithm if at least one cached illumination value near x then Interpolate ¡illumina'on ¡from ¡the ¡cached ¡value(s). [Ward ¡et ¡al. ¡1988] 5 Thursday, July 16, 15

  9. Irradiance ¡Caching ¡Algorithm if at least one cached illumination value near x then Interpolate ¡illumina'on ¡from ¡the ¡cached ¡value(s). else Compute ¡and ¡cache ¡a ¡new ¡illumina'on ¡value ¡at ¡ x . [Ward ¡et ¡al. ¡1988] 5 Thursday, July 16, 15

  10. Irradiance ¡Caching ¡Algorithm if at least one cached illumination value near x then Interpolate ¡illumina'on ¡from ¡the ¡cached ¡value(s). else Compute ¡and ¡cache ¡a ¡new ¡illumina'on ¡value ¡at ¡ x . • Some ¡ques9ons ¡that ¡remain: -­‑ What ¡do ¡we ¡cache? -­‑ What ¡makes ¡a ¡cache ¡point ¡“nearby”? -­‑ How ¡do ¡we ¡interpolate ¡the ¡nearby ¡cached ¡values? [Ward ¡et ¡al. ¡1988] 5 Thursday, July 16, 15

  11. Lamber'an ¡assump'on • Indirect ¡illumina9on ¡on ¡a ¡Lamber9an ¡surface: Z L r ( x , ~ ! r ) = H 2 f r ( x , ~ ! r ) L i ( x , ~ ! i )( ~ ! i ) d ~ ! i , ~ n · ~ ! i Z [Ward ¡et ¡al. ¡1988] 6 Thursday, July 16, 15

  12. Lamber'an ¡assump'on • Indirect ¡illumina9on ¡on ¡a ¡Lamber9an ¡surface: Z L r ( x , ~ ! r ) = H 2 f r ( x , ~ ! r ) L i ( x , ~ ! i )( ~ ! i ) d ~ ! i , ~ n · ~ ! i Z [Ward ¡et ¡al. ¡1988] 6 Thursday, July 16, 15

  13. Lamber'an ¡assump'on • Indirect ¡illumina9on ¡on ¡a ¡Lamber9an ¡surface: Z Z L r ( x , ~ ! r ) = H 2 f r ( x , ~ ! r ) L i ( x , ~ ! i )( ~ ! i ) d ~ ! i , ~ n · ~ ! i H Z Z = ⇢ H 2 L i ( x , ~ ! i )( ~ ! i ) d ~ n · ~ ! i ⇡ | {z } [Ward ¡et ¡al. ¡1988] 6 Thursday, July 16, 15

  14. Lamber'an ¡assump'on • Indirect ¡illumina9on ¡on ¡a ¡Lamber9an ¡surface: Z Z L r ( x , ~ ! r ) = H 2 f r ( x , ~ ! r ) L i ( x , ~ ! i )( ~ ! i ) d ~ ! i , ~ n · ~ ! i H Z Z = ⇢ H 2 L i ( x , ~ ! i )( ~ ! i ) d ~ n · ~ ! i ⇡ H | | {z {z } } Irradiance E ( x , ~ n ) [Ward ¡et ¡al. ¡1988] 6 Thursday, July 16, 15

  15. Lamber'an ¡assump'on • Indirect ¡illumina9on ¡on ¡a ¡Lamber9an ¡surface: Z Z L r ( x , ~ ! r ) = H 2 f r ( x , ~ ! r ) L i ( x , ~ ! i )( ~ ! i ) d ~ ! i , ~ n · ~ ! i H Z Z = ⇢ H 2 L i ( x , ~ ! i )( ~ ! i ) d ~ n · ~ ! i ⇡ H | | | {z {z {z } } } Irradiance E ( x , ~ n ) N n ) ≈ ⇡ X E ( x , ~ L i ( x , ~ ! i,j ) N j =1 [Ward ¡et ¡al. ¡1988] 6 Thursday, July 16, 15

  16. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  17. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? E ( x i ) [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  18. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? Δ x E ( x i ) E ( x i + Δ x )? [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  19. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? Δ x E ( x i ) E ( x i + Δ x )? ✓ @ E ◆ @ x ∆ x + @ E E ( x ) ≈ E ( x i ) + n ∆ ~ n @~ [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  20. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? Δ x E ( x i ) E ( x i + Δ x )? error ✓ @ E ◆ @ x ∆ x + @ E E ( x ) ≈ E ( x i ) + n ∆ ~ n @~ [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  21. Interpola'ng ¡Irradiance • Irradiance ¡computa9on ¡costly, ¡reuse ¡whenever ¡possible • How ¡far ¡away ¡can ¡we ¡reuse ¡a ¡cached ¡value? Δ x E ( x i ) E ( x i + Δ x )? error ✓ @ E ✓ @ E ◆ ◆ @ x ∆ x + @ E @ x ∆ x + @ E E ( x ) ≈ E ( x i ) + n ∆ ~ n ∆ ~ n n @~ @~ [Ward ¡et ¡al. ¡1988] 7 Thursday, July 16, 15

  22. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance ✓ @ E ◆ @ x ∆ x + @ E n ∆ ~ n @~ • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” [Ward ¡et ¡al. ¡1988] 8 Thursday, July 16, 15

  23. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” [Ward ¡et ¡al. ¡1988] 8 Thursday, July 16, 15

  24. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” ~ n @ ∂ x @~ ∂ x n [Ward ¡et ¡al. ¡1988] 8 Thursday, July 16, 15

  25. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” ~ n @ ∂ x @~ ∂ x n [Ward ¡et ¡al. ¡1988] 8 Thursday, July 16, 15

  26. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” ~ n @ ∂ x @~ ∂ x n [Ward ¡et ¡al. ¡1988] 9 Thursday, July 16, 15

  27. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” ~ n @ ∂ x @~ ∂ x n [Ward ¡et ¡al. ¡1988] 9 Thursday, July 16, 15

  28. Interpola'ng ¡Irradiance • To ¡compute ¡valid ¡region, ¡need ¡to ¡es9mate ¡change ¡in ¡ irradiance � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � • Consider ¡hypothe9cal, worst-­‑case ¡scene: the ¡“ Split-­‑Sphere ” ~ n @ ∂ x @~ ∂ x n [Ward ¡et ¡al. ¡1988] 10 Thursday, July 16, 15

  29. Interpola'ng ¡Irradiance • In ¡the ¡“Split-­‑Sphere” ¡environment ¡the ¡error ¡becomes: � � @ E @ x ∆ x + @ E � � " i . n ∆ ~ n � � @~ � � [Ward ¡et ¡al. ¡1988] 11 Thursday, July 16, 15

  30. Interpola'ng ¡Irradiance • In ¡the ¡“Split-­‑Sphere” ¡environment ¡the ¡error ¡becomes: ✓ 4 ◆ k x � x i k p + 1 � ( ~ n i ) " i . E i n · ~ ⇡ R i [Ward ¡et ¡al. ¡1988] 12 Thursday, July 16, 15

  31. Interpola'ng ¡Irradiance • In ¡the ¡“Split-­‑Sphere” ¡environment ¡the ¡error ¡becomes: orienta2on ¡difference ✓ 4 ◆ k x � x i k p + 1 � ( ~ n i ) " i . E i n · ~ ⇡ R i [Ward ¡et ¡al. ¡1988] 12 Thursday, July 16, 15

  32. Interpola'ng ¡Irradiance • In ¡the ¡“Split-­‑Sphere” ¡environment ¡the ¡error ¡becomes: posi2on ¡difference, ¡rela2ve ¡to orienta2on ¡difference radius ¡of ¡sphere ✓ 4 ◆ k x � x i k p + 1 � ( ~ n i ) " i . E i n · ~ ⇡ R i [Ward ¡et ¡al. ¡1988] 12 Thursday, July 16, 15

  33. Interpola'ng ¡Irradiance • In ¡the ¡“Split-­‑Sphere” ¡environment ¡the ¡error ¡becomes: posi2on ¡difference, ¡rela2ve ¡to orienta2on ¡difference radius ¡of ¡sphere ✓ 4 ◆ k x � x i k p + 1 � ( ~ n i ) " i . E i n · ~ ⇡ R i “average” ¡distance ¡to ¡visible ¡surfaces [Ward ¡et ¡al. ¡1988] 12 Thursday, July 16, 15

  34. Interpola'ng ¡Irradiance • At ¡each ¡ shading ¡loca'on , ¡perform ¡a ¡weighted ¡average ¡of ¡all ¡ cached ¡values ¡which ¡have ¡an ¡error ¡below ¡some ¡threshold. P w i ( x , ~ n ) E i i ∈ S E ( x , ~ n ) ≈ P w i ( x , ~ n ) i ∈ S x [Ward ¡et ¡al. ¡1988] 13 Thursday, July 16, 15

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