Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-08 15:58:02 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-02-08 18:56:11 +0300
commit28e2bc90dd8df3032b831a502e15e3a2976eb9de (patch)
tree735f003fb1eae068b193c12d5c59d9c798c215f2 /intern/cycles
parent8c8e53c12dfdb8a8d6f687b0a05bfca935402cc5 (diff)
Code refactor: remove unnecessary RNG offset in branched path code.
This is only needed for SSS which bounces to a different shading point.
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/kernel/kernel_path_branched.h1
-rw-r--r--intern/cycles/kernel/kernel_path_state.h2
-rw-r--r--intern/cycles/kernel/split/kernel_subsurface_scatter.h1
3 files changed, 2 insertions, 2 deletions
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) {