tornavis/source/blender/gpu/shaders/material/gpu_shader_material_subsurf...

26 lines
787 B
GLSL

/* SPDX-FileCopyrightText: 2019-2022 Blender Authors
*
* SPDX-License-Identifier: GPL-2.0-or-later */
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);
}