diff options
Diffstat (limited to 'intern/cycles/kernel/shaders/node_subsurface_scattering.osl')
-rw-r--r-- | intern/cycles/kernel/shaders/node_subsurface_scattering.osl | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/intern/cycles/kernel/shaders/node_subsurface_scattering.osl b/intern/cycles/kernel/shaders/node_subsurface_scattering.osl index 0df3256e1fd..e12199d8c3d 100644 --- a/intern/cycles/kernel/shaders/node_subsurface_scattering.osl +++ b/intern/cycles/kernel/shaders/node_subsurface_scattering.osl @@ -16,23 +16,30 @@ #include "stdosl.h" -shader node_subsurface_scattering( - color Color = 0.8, - float Scale = 1.0, - vector Radius = vector(0.1, 0.1, 0.1), - float TextureBlur = 0.0, - float Sharpness = 0.0, - string falloff = "cubic", - normal Normal = N, - output closure color BSSRDF = 0) +shader node_subsurface_scattering(color Color = 0.8, + float Scale = 1.0, + vector Radius = vector(0.1, 0.1, 0.1), + float TextureBlur = 0.0, + float Sharpness = 0.0, + string falloff = "cubic", + normal Normal = N, + output closure color BSSRDF = 0) { - if (falloff == "gaussian") - BSSRDF = Color * bssrdf("gaussian", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); - else if (falloff == "cubic") - BSSRDF = Color * bssrdf("cubic", Normal, Scale * Radius, Color, "texture_blur", TextureBlur, "sharpness", Sharpness); - else if (falloff == "burley") - BSSRDF = Color * bssrdf("burley", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); - else - BSSRDF = Color * bssrdf("random_walk", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); + if (falloff == "gaussian") + BSSRDF = Color * + bssrdf("gaussian", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); + else if (falloff == "cubic") + BSSRDF = Color * bssrdf("cubic", + Normal, + Scale * Radius, + Color, + "texture_blur", + TextureBlur, + "sharpness", + Sharpness); + else if (falloff == "burley") + BSSRDF = Color * bssrdf("burley", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); + else + BSSRDF = Color * + bssrdf("random_walk", Normal, Scale * Radius, Color, "texture_blur", TextureBlur); } - |