1
$\begingroup$

I'm learning BSSRDF but I'm so confused about the different forms of the diffusion profile approximation.

In this SIGGRAPH 2013 talk: BSSRDF Importance Sampling. They seem to let the BSSRDF directly be the diffusion profile. enter image description here

enter image description here

But in Christensen and Burley's paper: Approximate Reflectance Profiles for Efficient Subsurface Scattering. They use another form:

enter image description here

Which makes me confused... Which one is the right one to use and why are they different?

Thanks to anyone willing to answer this question!

$\endgroup$

1 Answer 1

1
$\begingroup$

The presenter stated (and wrote) that for this talk, we will assume that ... and that it is mostly a function of distance. The reason is simple enough: this simplification will highlight the essentials of the BSSRDF and make it mathematically easier to discuss. Therefore, the SIGGRAPH 13 talk version is not a complete form, but a simplified one: it only discusses photon scattering within the medium, while ignoring the effects at the incident and exit interfaces.

The complete form suggests that, since this is a bidirectional reflectance distribution function (B(X)RDF), all aspects should be considered: incident and exit ray directions, as well as positional shifts. That's why Fresnel terms for the medium interface should be included. However, as you know, the Fresnel term is not exclusive to BSSRDF, so when focusing on the BSSRDF itself, it may not be where you should pay most attention to.

$\endgroup$
3
  • $\begingroup$ Thanks! I'm also studying the implementations in UE and Unity, but I found that they used different PDFs for their disk sampling for Brent Burley's diffusion profile, are you familiar with it? I want to find someone to discuss it. $\endgroup$ Commented Feb 18 at 5:59
  • $\begingroup$ I am not familiar with it. However, the sampling methods won't affect the converged results, if the method is unbiased. The PDF of the actual distribution of samples cancels out with the PDF you put in the denominator. You can also point me to the PDF you are having trouble with, I'll see if I can help. $\endgroup$ Commented Feb 18 at 14:24
  • $\begingroup$ Thanks for the help! The PDF in Unity is in their graphics repo: github.com/Unity-Technologies/Graphics, the file is in "Packages->com.unity.render-pipelines.high-definition->Runtime->Material->DiffusionProfile->DiffusionProfile.hlsl", the function name is "SampleBurleyDiffusionProfile()", they use the rcpPdf to represent the reciprocal PDF. In UE it's in "Engine/Shaders/Private/SubsurfaceBurleyNormalized.ush", the function is "GetPdf()", their Pdf is Unity's PDF times with 2*pi, which means UE's PDF is a PDF for sampling only the distance/radius intead of a disk(radius and angle). $\endgroup$ Commented Feb 20 at 1:43

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.