diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-08 13:16:37 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-08 13:16:37 +0300 |
commit | a2d78d7a460302dc3724c8b9efd5b4921e49f762 (patch) | |
tree | 8f7ac40db9966b8edfb1bb15e48f95d982186086 /intern/cycles/blender | |
parent | 93ace71bd7cd1942071773536fa755b70e596476 (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/blender')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 8 |
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, |