I understand how this diffuses and generalizes the BRDF but I'm curious what the tradeoffs of using BSSRDF and BRDF are and how to determine which scattering function to use in a specific situation?

Eloyye

I have found an interesting blog regarding some of the implementation of path tracer algorithm and the BSSRDF. In it they also discuss some of the problems that can arise such as the "firefly effect", where noise is prominent maybe because of the use of random sampling of the monte carlo integration algorithm.

@mylinhvu11 In terms of rendering, the main downside of BSSRDF is the increased compute cost. This makes sense, it is strictly more expressive in terms of what kinds of materials you can make. In terms of a scattering function, it is possible to empirically measure the scattering of a real material, and then model it directly.

Staffjamesfong1

@Eloyye Yes, fireflies are a common kind of artifact when working with path-tracing. The issue is that the variance of your estimator is generally higher when the light requires many bounces to reach. When we use a BSSRDF, we are intentionally adding more bounces!

I understand how this diffuses and generalizes the BRDF but I'm curious what the tradeoffs of using BSSRDF and BRDF are and how to determine which scattering function to use in a specific situation?

I have found an interesting blog regarding some of the implementation of path tracer algorithm and the BSSRDF. In it they also discuss some of the problems that can arise such as the "firefly effect", where noise is prominent maybe because of the use of random sampling of the monte carlo integration algorithm.

https://agraphicsguynotes.com/posts/practical_tips_for_implementing_subsurface_scattering_in_a_ray_tracer/

@mylinhvu11 In terms of rendering, the main downside of BSSRDF is the increased compute cost. This makes sense, it is strictly more expressive in terms of what kinds of materials you can make. In terms of a scattering function, it is possible to empirically measure the scattering of a real material, and then model it directly.

@Eloyye Yes, fireflies are a common kind of artifact when working with path-tracing. The issue is that the variance of your estimator is generally higher when the light requires many bounces to reach. When we use a BSSRDF, we are intentionally adding more bounces!