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)
/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)