Tutorial 5 - Subsurface Scattering

This tutorial assumes that you have a basic understanding of "4D Blue" functions, especially that you know how to move, adjust and rename objects. In this tutorial we will start from existing simple scenes and set them up for subsurface scattering rendering. The subsurface scattering feature is still under development; the shaders and its functions might change in the future.

Step 1 - Simple largely translucent object.

 

We will start this tutorial with very simple object and see how to enable and setup subsurface scattering. You can now download the ball scene: Download "Tutorial 5" Ball Scene.. The ball is illuminated from behind and it would be completely black if we would render it right now. Furthermore, the material is not setup yet.

Picture

The first thing we need to do is to enable "Media" in the "Render Setup". Otherwise participating media and subsurface scattering would not be used.

Picture

In the "Shading Editor" under "Materials Editor", select the "Material Subsurface" material. Select "SurfaceGI Subsurface" shader for the surface shader. Setup the shader as shown on the left image. For the blue color use (0.3, 0.6, 0.75), and for the green color use (0.3, 0.6, 0.5). The preview will be dark, but do not worry about it, since usually most of the contribution comes from the subsurface illumination with the current subsurface scattering shaders.

Picture

In the "Subsurface Scattering" section, enable subsurface scattering. Leave the other parameters unchanged. Translucency controls how far the light rays travel in the material before reducing their intensity by 50%. Diffuse reflectance controls the light intensity - Later on try different values to see how it affects the surface appearance.

Picture

Rendering the scene and we get the following image. The image clearly shows the light passing through the object as it would happen in naturally translucent objects.

Picture

Now let’s adjust the light position to see how the surface appears when it is also partially directly illuminated. Set the light position to (-3.0, 3.0, 4.0).

Picture

Now we can also see the nice specular highlights and bright illumination on part of the surface, but we still see the subsurface illumination being the dominant.

Picture

Finally let's adjust the light to be in front of the object to completely illuminate its surface. Set the light position to (-2.0, 3.0, -6.0).

Picture

The surface looks different, but it still looks very smooth and translucent thanks to the underling subsurface light transport.

Step 2 - Reducing Translucency.

Picture

In this step we will reduce the translucency parameter in order to make the subsurface effect "shallower" and more local. By doing this we will be forced to solve some problems with the irradiance samples that are used to compute subsurface scattering. You can now download the lathed object scene: Download "Tutorial 5" Lathed Object Scene. In the "Shading Editor" under "Materials", set the surface shader to "SurfaceGI Subsurface" and adjust the "cDiffuse" color to (0.7, 0.9, 1.0).

Picture

The surface looks very dark and hard when rendered. For now that is ok, because subsurface scattering is going to provide most of the illumination with this shader.

Picture

Back in the "Shading Editor", adjust the "cSubsurface" color to (0.9, 0.8, 0.7).

Picture

Enable "Subsurface Scattering", and adjust "Translucency" to 0.5.

Picture

And of course, enable "Media" in "Render Setup".

Picture

If we render the scene right now, we will see the following image. It looks much brighter, but it also has a lot of these very annoying dots. They are there because there is not enough irradiance samples. Usually when we reduce the translucency and make the subsurface scattering effect more local, we also need to increase the number of irradiance samples. By default it is 1000. When rendering you also probably noticed the following line in the output window: * Subsurface Scattering points used: X, minimum recommended: Y. Y is usually the very minimum needed and usually it is 10-20 times smaller than the actual number of samples necessary. In the future it is likely to change, but for now it can serve as kind of a guide.

Picture

Having the object selected in the "Surfaces Toolbar" select "Render Quality" tool.

Picture

In the "Subsurface Scattering Points" increase the count to 10000.

Picture

The image looks better, but we still can see the low frequency noise. We are going to further increase the point count and reduce the error threshold.

Picture

In the "Subsurface Scattering", properties of the material reduce the error threshold to 0.2. 0.5 is usually a good value, but to achieve the best possible look for given number of irradiance points, reduce it to 0.2 or 0.1. It will increase rendering time thought.

Picture

Then again increase the irradiance point count to 500000.

Picture

The final image. It looks pretty good!