Commit: 28e2bc90dd8df3032b831a502e15e3a2976eb9de
Author: Brecht Van Lommel
Date:   Thu Feb 8 13:58:02 2018 +0100
Branches: master
https://developer.blender.org/rB28e2bc90dd8df3032b831a502e15e3a2976eb9de

Code refactor: remove unnecessary RNG offset in branched path code.

This is only needed for SSS which bounces to a different shading point.

===================================================================

M       intern/cycles/kernel/kernel_path_branched.h
M       intern/cycles/kernel/kernel_path_state.h
M       intern/cycles/kernel/split/kernel_subsurface_scatter.h

===================================================================

diff --git a/intern/cycles/kernel/kernel_path_branched.h 
b/intern/cycles/kernel/kernel_path_branched.h
index fe2a7d179a4..70d0292c5a5 100644
--- a/intern/cycles/kernel/kernel_path_branched.h
+++ b/intern/cycles/kernel/kernel_path_branched.h
@@ -372,6 +372,7 @@ ccl_device void 
kernel_branched_path_subsurface_scatter(KernelGlobals *kg,
                                PathState hit_state = *state;
 
                                path_state_branch(&hit_state, j, num_samples);
+                               hit_state.rng_offset += PRNG_BOUNCE_NUM;
 
 #ifdef __VOLUME__
                                if(need_update_volume_stack) {
diff --git a/intern/cycles/kernel/kernel_path_state.h 
b/intern/cycles/kernel/kernel_path_state.h
index 2ae866bb051..a16c20cbee6 100644
--- a/intern/cycles/kernel/kernel_path_state.h
+++ b/intern/cycles/kernel/kernel_path_state.h
@@ -231,8 +231,6 @@ ccl_device_inline void path_state_branch(ccl_addr_space 
PathState *state,
                                          int branch,
                                          int num_branches)
 {
-       state->rng_offset += PRNG_BOUNCE_NUM;
-
        if(num_branches > 1) {
                /* Path is splitting into a branch, adjust so that each branch
                 * still gets a unique sample from the same sequence. */
diff --git a/intern/cycles/kernel/split/kernel_subsurface_scatter.h 
b/intern/cycles/kernel/split/kernel_subsurface_scatter.h
index 38dd1dc5654..993e8d4d477 100644
--- a/intern/cycles/kernel/split/kernel_subsurface_scatter.h
+++ b/intern/cycles/kernel/split/kernel_subsurface_scatter.h
@@ -117,6 +117,7 @@ ccl_device_noinline bool 
kernel_split_branched_path_subsurface_indirect_light_it
                                *hit_state = branched_state->path_state;
 
                                path_state_branch(hit_state, j, num_samples);
+                               hit_state->rng_offset += PRNG_BOUNCE_NUM;
 
 #ifdef __VOLUME__
                                if(need_update_volume_stack) {

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to