
void node_subsurface_scattering(vec4 color,
                                float scale,
                                vec3 radius,
                                float ior,
                                float anisotropy,
                                vec3 N,
                                float weight,
                                float do_sss,
                                out Closure result)
{
  N = safe_normalize(N);

  ClosureDiffuse diffuse_data;
  diffuse_data.weight = weight;
  diffuse_data.color = color.rgb;
  diffuse_data.N = N;
  diffuse_data.sss_radius = radius * scale;
  diffuse_data.sss_id = uint(do_sss);

  result = closure_eval(diffuse_data);
}
