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:
authorSergey Sharybin <sergey.vfx@gmail.com>2016-11-08 13:16:37 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2016-11-08 13:16:37 +0300
commita2d78d7a460302dc3724c8b9efd5b4921e49f762 (patch)
tree8f7ac40db9966b8edfb1bb15e48f95d982186086 /intern/cycles
parent93ace71bd7cd1942071773536fa755b70e596476 (diff)
Fix T49838: Noise randomization for frame should be done per interframes as well
Add subframe to the animated seed hash calculation. Should be no difference for the regular files, only for cases when scene is rendered from sequencer with a speed effect, which is not really a common thing.
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/blender/blender_sync.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 6e466826c35..8ec9ecfd861 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -255,8 +255,12 @@ void BlenderSync::sync_integrator()
integrator->filter_glossy = get_float(cscene, "blur_glossy");
integrator->seed = get_int(cscene, "seed");
- if(get_boolean(cscene, "use_animated_seed"))
- integrator->seed = hash_int_2d(b_scene.frame_current(), get_int(cscene, "seed"));
+ if(get_boolean(cscene, "use_animated_seed")) {
+ integrator->seed = hash_int_2d(b_scene.frame_current(),
+ get_int(cscene, "seed")) +
+ hash_int_2d((int)(b_scene.frame_subframe() * (float)INT_MAX),
+ get_int(cscene, "seed"));
+ }
integrator->sampling_pattern = (SamplingPattern)get_enum(
cscene,