<p>Can somebody help explain the mathematics of Sub Surface Scattering in a Path Tracer based on the Diffuse Approximation in <strong><a href="http://www.graphics.stanford.edu/papers/bssrdf/" rel="nofollow noreferrer">A Practical Model for Subsurface Light Transport</a></strong> ?</p>

<p>I would like someone to explain the mathematics a little more clearly (why we need both the Fresnel terms, the diffusion profile, why we multiply everything by 1/π) and show me what I need to put together finally in Pseudocode. The symbols in all of the equations are also confusing (I'm still doing high school math), so any definition for each symbol would be great. </p>

<p>Along with that, I had a few simpler questions.</p>

<ol>
<li><p>Why do we approximate the BSSRDF as a BRDF? Is it because the outgoing rays are usually isotropic? What are the main differences in mathematics between the original and approximation? </p></li>
<li><p>Can this BSSRDF approximation be importance sampled?</p></li>
</ol>

<p>Currently I have an understanding of how everything works based on this <strong><a href="https://computergraphics.stackexchange.com/questions/81/what-is-the-dipole-approximation-for-subsurface-scattering">post</a></strong> from a while back which is a good explanation. However, when it comes to implementation and all the overwhelming mathematics I get very confused. Can someone help me? I haven't been able to find a beginner friendly resource online so I hoped someone here could share their knowledge. </p>

CC BY-SA 3.0
2017-06-01T09:11:23.853Z
That's kind of a big question to ask. If you're hoping for a big block of code you can just paste in, you're going to be disappointed. Perhaps you could narrow the question down to a particular part you're having trouble with. Would a clearer description of the maths help? Would a pseudocode descrption of the main formulae help?
Dan Hulme
CC BY-SA 3.0
2017-06-01T12:31:39.520Z
Yeah, you're right I should be doing the coding myself. A clearer explanation of the mathematics of what does what (also the symbols which confuse the hell out of me) will help and pseudo code will work just fine. I'm updating the question to be more specific.
Arjan Singh
CC BY-SA 3.0
2017-06-01T17:03:01.447Z
Is there a beginner friendly book that covers this though? I find this extremely tough to grasp and I honestly need a complete explanation of everything.
Arjan Singh
CC BY-SA 3.0
2017-06-01T19:29:26.297Z
There's an index of the symbols on page 2 of the paper. I'm afraid there's no simple way to understand that method. IIRC, there are slower and more accurate methods which are simpler to understand because they actually trace multiple bounces instead of simulating them with a complex formula. You could perhaps start there.
Olivier
CC BY-SA 3.0
2017-06-01T19:31:49.147Z
If there are other simpler and accurate techniques I would definitely want to start there :D! Could you link the resources here? Also, does Path Tracing already render subsurface scattering?
Arjan Singh
<raytracing><pathtracing><brdf><pbr><subsurface-scattering>
Mathematics of Sub Surface Scattering
Arjan Singh
# Mathematics of Sub Surface Scattering

(Asked by: username_0 on 2017-05-31)

Can somebody help explain the mathematics of Sub Surface Scattering in a Path Tracer based on the Diffuse Approximation in **[A Practical Model for Subsurface Light Transport](http://www.graphics.stanford.edu/papers/bssrdf/)** ?

I would like someone to explain the mathematics a little more clearly (why we need both the Fresnel terms, the diffusion profile, why we multiply everything by 1/π) and show me what I need to put together finally in Pseudocode. The symbols in all of the equations are also confusing (I'm still doing high school math), so any definition for each symbol would be great.

Along with that, I had a few simpler questions.

1. Why do we approximate the BSSRDF as a BRDF? Is it because the outgoing rays are usually isotropic? What are the main differences in mathematics between the original and approximation?
2. Can this BSSRDF approximation be importance sampled?

Currently I have an understanding of how everything works based on this **[post](https://computergraphics.stackexchange.com/questions/81/what-is-the-dipole-approximation-for-subsurface-scattering)** from a while back which is a good explanation. However, when it comes to implementation and all the overwhelming mathematics I get very confused. Can someone help me? I haven't been able to find a beginner friendly resource online so I hoped someone here could share their knowledge.

**Tags:** raytracing, pathtracing, brdf, pbr, subsurface-scattering

> **Comments:**
> **username_1**: That's kind of a big question to ask. If you're hoping for a big block of code you can just paste in, you're going to be disappointed. Perhaps you could narrow the question down to a particular part you're having trouble with. Would a clearer description of the maths help? Would a pseudocode descrption of the main formulae help?  
> **username_0**: Yeah, you're right I should be doing the coding myself. A clearer explanation of the mathematics of what does what (also the symbols which confuse the hell out of me) will help and pseudo code will work just fine. I'm updating the question to be more specific.  
> **username_0**: Is there a beginner friendly book that covers this though? I find this extremely tough to grasp and I honestly need a complete explanation of everything.  
> **username_2**: There's an index of the symbols on page 2 of the paper. I'm afraid there's no simple way to understand that method. IIRC, there are slower and more accurate methods which are simpler to understand because they actually trace multiple bounces instead of simulating them with a complex formula. You could perhaps start there.  
> **username_0**: If there are other simpler and accurate techniques I would definitely want to start there :D! Could you link the resources here? Also, does Path Tracing already render subsurface scattering?  

---

## 0 answers

