Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

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