Cycles: change principled BSDF default distribution and SSS.
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 28 Feb 2018 05:33:07 +0000 (06:33 +0100)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 28 Feb 2018 20:31:28 +0000 (21:31 +0100)
* Use a subsurface color equal to the base color, and give the subsurface
  radius skin like values by default. This is how the parameter should
  typically be used.
* Use GGX by default, multiscatter GGX is still quite noisy and has some
  fireflies so let's keep it optional for now.

source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c

index 1b335e6..e3b3f0f 100644 (file)
@@ -32,8 +32,8 @@
 static bNodeSocketTemplate sh_node_bsdf_principled_in[] = {
        {       SOCK_RGBA, 1, N_("Base Color"),                         0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
        {       SOCK_FLOAT, 1, N_("Subsurface"),                        0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
-       {       SOCK_VECTOR, 1, N_("Subsurface Radius"),        1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f},
-       {       SOCK_RGBA, 1, N_("Subsurface Color"),           0.7f, 0.1f, 0.1f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VECTOR, 1, N_("Subsurface Radius"),        1.0f, 0.2f, 0.1f, 0.0f, 0.0f, 100.0f},
+       {       SOCK_RGBA, 1, N_("Subsurface Color"),           0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
        {       SOCK_FLOAT, 1, N_("Metallic"),                          0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
        {       SOCK_FLOAT, 1, N_("Specular"),                          0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
        {       SOCK_FLOAT, 1, N_("Specular Tint"),                     0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
@@ -60,7 +60,7 @@ static bNodeSocketTemplate sh_node_bsdf_principled_out[] = {
 
 static void node_shader_init_principled(bNodeTree *UNUSED(ntree), bNode *node)
 {
-       node->custom1 = SHD_GLOSSY_MULTI_GGX;
+       node->custom1 = SHD_GLOSSY_GGX;
        node->custom2 = SHD_SUBSURFACE_BURLEY;
 }
 
index 7dfac32..5051e37 100644 (file)
@@ -32,7 +32,7 @@
 static bNodeSocketTemplate sh_node_subsurface_scattering_in[] = {
        {       SOCK_RGBA, 1, N_("Color"),                      0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
        {       SOCK_FLOAT, 1, N_("Scale"),                     1.0, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
-       {       SOCK_VECTOR, 1, N_("Radius"),           1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 100.0f},
+       {       SOCK_VECTOR, 1, N_("Radius"),           1.0f, 0.2f, 0.1f, 0.0f, 0.0f, 100.0f},
        {       SOCK_FLOAT, 1, N_("Sharpness"),         0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
        {       SOCK_FLOAT, 1, N_("Texture Blur"),      0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
        {       SOCK_VECTOR, 1, N_("Normal"),           0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},