Blender Git Commit Log

Git Commits -> Revision 7811c11

Revision 7811c11 by Christophe Hery (cycles-x)
August 17, 2021, 17:38 (GMT)
Cycles X: add anisotropic random walk SSS

This adds new Subsurface Anisotropy and IOR to the Principled BSDF and
Subsurface Scattering nodes. Real world skin has an anisotropy of around
0.8 and this makes it possible to simulate that more accurately.

Based on the paper: "Path Traced Subsurface Scattering using Anisotropic
Phase Functions and Non-Exponential Free Flights"
https://graphics.pixar.com/library/PathTracedSubsurface/

This comes with a new albedo inversion that gives different results than
the old one. For that reason there is now a Random Walk and Random Walk
(Fixed Radius) option. The latter is provided for backwards compatibility,
and uses the radius exactly as specified. The new one adjust the radius
based on albedo and IOR.

Differential Revision: https://developer.blender.org/D11965

Commit Details:

Full Hash: 7811c11472302948015b94137c8918f0292936d4
Parent Commit: 0b7c007
Committed By: Brecht Van Lommel
Lines Changed: +359, -68

22 Modified Paths:

/intern/cycles/blender/blender_shader.cpp (+17, -0) (Diff)
/intern/cycles/kernel/closure/bssrdf.h (+57, -8) (Diff)
/intern/cycles/kernel/integrator/integrator_state_template.h (+1, -0) (Diff)
/intern/cycles/kernel/integrator/integrator_subsurface.h (+109, -20) (Diff)
/intern/cycles/kernel/osl/osl_bssrdf.cpp (+12, -2) (Diff)
/intern/cycles/kernel/shaders/node_principled_bsdf.osl (+9, -2) (Diff)
/intern/cycles/kernel/shaders/node_subsurface_scattering.osl (+5, -1) (Diff)
/intern/cycles/kernel/svm/svm_closure.h (+18, -3) (Diff)
/intern/cycles/kernel/svm/svm_types.h (+4, -2) (Diff)
/intern/cycles/render/nodes.cpp (+36, -6) (Diff)
/intern/cycles/render/nodes.h (+9, -1) (Diff)
/source/blender/blenloader/intern/versioning_300.c (+6, -2) (Diff)
/source/blender/blenloader/intern/versioning_cycles.c (+1, -1) (Diff)
/source/blender/editors/space_node/drawnode.cc (+2, -0) (Diff)
/source/blender/gpu/intern/gpu_material_library.h (+1, -1) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl (+3, -1) (Diff)
/source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl (+11, -3) (Diff)
/source/blender/makesdna/DNA_node_types.h (+7, -1) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+33, -0) (Diff)
/source/blender/nodes/NOD_static_types.h (+1, -1) (Diff)
/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c (+13, -11) (Diff)
/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c (+4, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021