Matching the Principled BSDF. Pull Request: https://projects.blender.org/blender/blender/pulls/114499
29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0 */
|
|
|
|
#include "stdcycles.h"
|
|
|
|
shader node_subsurface_scattering(color Color = 0.8,
|
|
float Scale = 1.0,
|
|
vector Radius = vector(0.1, 0.1, 0.1),
|
|
float IOR = 1.4,
|
|
float Roughness = 1.0,
|
|
float Anisotropy = 0.0,
|
|
string method = "random_walk",
|
|
normal Normal = N,
|
|
output closure color BSSRDF = 0)
|
|
{
|
|
color base_color = max(Color, color(0.0));
|
|
BSSRDF = base_color * bssrdf(method,
|
|
Normal,
|
|
Scale * Radius,
|
|
base_color,
|
|
"ior",
|
|
IOR,
|
|
"anisotropy",
|
|
Anisotropy,
|
|
"roughness",
|
|
clamp(Roughness, 0.0, 1.0));
|
|
}
|