EEVEE Subsurface Scattering implementation details

Hi, I’m trying to learn how SSS is implemented in Eevee but struggle to find anything beside top level info here and here

Is it any similar to what Unity is doing in their talk “Efficient Screen-Space Subsurface Scattering Using Burley’s Normalized Diffusion” Efficient Screen-Space Subsurface Scattering Using Burley’s Normalized Diffusion

1 Like

The main reference for our implementation is I did not find the time to improve it using the new results from Unity.

Some of the code is in gpu_material.c (need some cleanup to move it out) and the rest is in eevee_subsurface.c and effect_subsurface_frag.glsl


Thanks, that helps a ton.

Impressive work on Eevee.

@fclem Is this a complete implementation of SSSS by Jimenez et al. ?

Also, the parameters in that paper are different from the ones shown in Blender’s interface. Thus what mapping / approximation was used from the parameter d (in Blender) to the one is SSSS (sigma)?