frequency analysis and dual hierarchyhachisuka/dual_sss_slides...participating media [belcour et al....

63
Frequency Analysis and Dual Hierarchy for Efficient Rendering of Subsurface Scattering David Milaenen Weta Digital Université de Montréal Laurent Belcour Unity Labs Université de Montréal Jean-Philippe Guertin Université de Montréal Toshiya Hachisuka University of Tokyo Derek Nowrouzezahrai McGill University Université de Montréal

Upload: others

Post on 13-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Frequency Analysis and Dual Hierarchy for Efficient Rendering of Subsurface Scattering

David MilaenenWeta Digital

Université de Montréal

Laurent BelcourUnity Labs

Université de Montréal

Jean-Philippe GuertinUniversité de Montréal

Toshiya HachisukaUniversity of Tokyo

Derek NowrouzezahraiMcGill University

Université de Montréal

Page 2: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 3: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 4: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 5: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 6: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

BSSRDF

Page 7: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Quantized-Diffusion [d’Eon and Irving 2011]

Directional Dipole [Frisvad et al. 2014]

Beam Diffusion [Habel et al. 2013]

Classical Dipole [Jensen et al. 2001]

Page 8: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 9: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 10: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 11: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 12: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 13: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 14: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Smooth

Page 15: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Observations

● Costly double integral per pixel○ Directional integral (just like BSDFs)○ Spatial integral (specific to BSSRDFs)

● Result is often smooth○ Individually solving each pixel is wasteful

Page 16: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Observations

● Costly double integral per pixel○ Directional integral (just like BSDFs)○ Spatial integral (specific to BSSRDFs)

● Result is often smooth○ Individually solving each pixel is wasteful

Page 17: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 18: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al
Page 19: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Illumination function

Page 20: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Illumination sample

Page 21: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Illumination sample

Cost:

Page 22: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Clustered integration

●Hierarchical [Jensen and Buhler 2002]

○ Vectors [Frisvad et al. 2014]

○ Radiance bin [d’Eon and Irving 2011]

● Multidimensional Lightcuts [Walter et al. 2006]

● Illumination cuts [Bus et al. 2015]

● Double hierarchy○ Micropolygon grid [d’Eon and Irving 2011, PRMan]

○ GI VPL clustering [Jarabo et al. 2015]

Page 23: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Clustered integration

Page 24: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Clustered sample

Clustered integration

Page 25: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Clustered sample

Cost:

Clustered integration

Page 26: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Observations

● Costly double integral per pixel○ Directional integral (just like BSDFs)○ Spatial integral (specific to BSSRDFs)

● Result is often smooth○ Individually solving each pixel is wasteful

Page 27: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Smooth

Page 28: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Frequency analyses of light transport

●Theory [Durand et al. 2005]

○ Acquired Materials[Bagher et al. 2012]

○ Defocus, Motion Blur [Belcour et al. 2013]

○ Participating media [Belcour et al. 2014]

○ Animation cache[Dubouchet et al. 2017]

○ Global Illumination[Belcour et al. 2017]

A Frequency Analysis of Light Transport: from Theory to Implementation. [Belcour 2017].

Page 29: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Frequency analyses of light transport

●Theory [Durand et al. 2005]

○ Acquired Materials[Bagher et al. 2012]

○ Defocus, Motion Blur [Belcour et al. 2013]

○ Participating media [Belcour et al. 2014]

○ Animation cache[Dubouchet et al. 2017]

○ Global Illumination[Belcour et al. 2017]

A Frequency Analysis of Light Transport: from Theory to Implementation. [Belcour 2017].

Can we use such analyses for clustering both pixels and illumination samples?

Page 30: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Contributions

● Clustered integration for translucent objects○ Both pixels and illumination samples○ Using a dual-tree structure○ Based on novel frequency analysis○ Supports any BSSRDF models

Page 31: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Overview

Page 32: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Overview

Page 33: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Overview

Page 34: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Overview

Page 35: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Overview

Page 36: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Outgoing radiance bandwidth

Page 37: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Outgoing radiance bandwidth

Page 38: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Outgoing radiance bandwidth

Page 39: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Outgoing radiance bandwidth

Page 40: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Outgoing radiance bandwidth

Page 41: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Image

Page 42: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Predicted bandwidth

Page 43: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Image

Page 44: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Predicted bandwidth

Page 45: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Page 46: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Page 47: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Page 48: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Simultaneous refinement

Page 49: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Simultaneous refinement

Page 50: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Dual-tree traversal

Simultaneous refinement

Page 51: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Single-tree traversal (previous work)

Page 52: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Single-tree traversal (previous work)

Page 53: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Single-tree traversal (previous work)

Page 54: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Single-tree traversal (previous work)

Independent refinement per pixel

Page 55: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Single-tree traversal (previous work)

Independent refinement per pixel

Page 56: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Predicted bandwidth

Page 57: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Predicted bandwidthPixel clusters

Page 58: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Predicted bandwidth

Page 59: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Pixel clusters

Page 60: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Results

Page 61: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Results

Page 62: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Limitations

● Subpixel variation will not be detected faithfully○ Aliasing can cause wrong clustering○ Need more conservative bandwidth estimation

● Manual clustering for separated objects○ One tree per “separated” translucent object is needed○ Same for any existing approaches

Page 63: Frequency Analysis and Dual Hierarchyhachisuka/dual_sss_slides...Participating media [Belcour et al. 2014] Animation cache [Dubouchet et al. 2017] Global Illumination [Belcour et al

Conclusion

● Translucent objects often exhibit smoothness across pixels due to their blurring nature

● Smoothness is exploited via clustering○ Dual-tree structure for pixels and illumination samples○ Frequency analysis concervatily predicts cluster sizes