here:
http://www.sidefx.com/index.php?option=com_wrapper&Itemid=139 [sidefx.com]
The reason for being is because, sometimes geometry or pcloud based sss shaders can be impractical. For example, you might need very densely packed points for accuracy like if you have lots of displacement but you need the sss to pick up the detail, or just a very large surface area to cover, or just want to try something that renders faster at the expense of physical accuracy.
The shader has the ability to scatter ambient occlusion light as well as regular light sources.
Here's the contents of the included Otl Help.
MAIN SSS
Iterations:
How many times the shader is evaluated. Each iteration accumulates and the results averaged for noise reduction.
Entry/Exit Color:
Tints the color according to the luminance value. We could say that the darker the luminance the more distance the
light has travelled through the medium thus getting more and more filtered/saturated. Not physically correct at all but
looks close enough.
Entry/Exit Scatter Radius:
Controls how deep light can penetrate the surface. Setting the Entry and Exit values to very different amounts looks more
realistic and can be interpreted as layered appearance. For each iteration the shader will ramp between Entry and Exit
values.
Enable Bias:
Turns On or Off a section of the shader that allows for a bias adjustment along the normal. Switching it On results in a
10% slowdown, hence the switch.
Normal Bias:
Moves the sample point along the normal, inside or outside the surface. This parameter affects the contrast between smaller
and bigger model features, i.e. setting a negative value darkens big shapes but retains brightness in the smaller features.
Setting a positive value will brighten big features whilst small features remain more or less the same.
Angle Limit:
This is an optimisation feature of the Illumination Loop node, from the help: “The range of angle (in radians) away from the
Surface Normal from which lights can influence the surface. Any light outside the cone defined by this value and the
Surface normal is not part of the illuminance loop. If no input is connected, the default is PI/2 (i.e. 90 degrees in
radians).”
I other words, no computation will take place if the angle between light and surface is greater than this limit.
Tweak carefully because it can result in sharp edged dark areas where if the surface is facing away from the light and
a large scatter radius is in use.
OCCLUSION SSS
This will compute SSS for Ambient light with occlusion using the Main SSS parameters. Use a regular Ambient Light to see effect.
The following are specific Occlusion parameters:
Occ Iterations:
Samples are gathered the same way as Main SSS.
Max distance:
Regular occlusion parameter. Occlusion will only consider geometry within this distance. -1 = infinite… smaller values
render faster.
Bias:
Regular occlusion parameter. Shifts the sample away or towards the surface.
Object Scope:
Regular occlusion parameter. Select which objects to be considered for occlusion
GENERAL
Rendering in Raytrace mode lets you use fewer iterations because it samples the shader multiple times for each aa sample, but
its usually faster to render if you use more iterations rather than AA samples. Try both RT and MP renderers, one ot the other
may be faster depending on the scene.
The Shader has three outputs, either the combined Light and Ambient SSS or seperate outputs so that you may use output
variables, or check what each is doing seperately.
When rendering with multiple lights, their contribution is blended using a screen blend rather than Add (I'll probably add a choice)
Ambient Light is also screened…I found that using screen helps to avoid annoying diffult to control overexposure issues.
32 samples seems to be enough for noise free results in Raytrace mode and 3x3 AA samples.
It's a vopnet, jump in and mess around!
the renders bellow are using 2 lights, amb occ, 32 shader iterations and raytrace renderer. They took around 200 seconds each on a quad Opteron 280 (2.4ghz) using all 4 processors.