Cycles: restore Christensen-Burley SSS
There is not enough time before the release to improve Random Walk to handle all cases this was used for, so restore it for now. Since there is no more path splitting in cycles-x, this can increase noise in non-flat areas for the sample number of samples, though fewer rays will be traced also. This is fundamentally a trade-off we made in the new design and why Random Walk is a better fit. However the importance resampling we do now does help to reduce noise. Differential Revision: https://developer.blender.org/D12800
This commit is contained in:
@@ -2736,6 +2736,7 @@ NODE_DEFINE(PrincipledBsdfNode)
|
||||
distribution, "Distribution", distribution_enum, CLOSURE_BSDF_MICROFACET_MULTI_GGX_GLASS_ID);
|
||||
|
||||
static NodeEnum subsurface_method_enum;
|
||||
subsurface_method_enum.insert("burley", CLOSURE_BSSRDF_BURLEY_ID);
|
||||
subsurface_method_enum.insert("random_walk_fixed_radius",
|
||||
CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID);
|
||||
subsurface_method_enum.insert("random_walk", CLOSURE_BSSRDF_RANDOM_WALK_ID);
|
||||
@@ -3060,6 +3061,7 @@ NODE_DEFINE(SubsurfaceScatteringNode)
|
||||
SOCKET_IN_FLOAT(surface_mix_weight, "SurfaceMixWeight", 0.0f, SocketType::SVM_INTERNAL);
|
||||
|
||||
static NodeEnum method_enum;
|
||||
method_enum.insert("burley", CLOSURE_BSSRDF_BURLEY_ID);
|
||||
method_enum.insert("random_walk_fixed_radius", CLOSURE_BSSRDF_RANDOM_WALK_FIXED_RADIUS_ID);
|
||||
method_enum.insert("random_walk", CLOSURE_BSSRDF_RANDOM_WALK_ID);
|
||||
SOCKET_ENUM(method, "Method", method_enum, CLOSURE_BSSRDF_RANDOM_WALK_ID);
|
||||
|
||||
Reference in New Issue
Block a user