diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-16 17:12:31 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-11-16 17:32:00 +0300 |
commit | 2a2eb0c463bd96d42f7306eb17f88cad87f73aea (patch) | |
tree | 70ce5010bd25cff07a63e0dd95dd7a80cbb30951 | |
parent | 209bc9977c9754d3ad5d4cf550a460eb56814686 (diff) |
Cycles: Fix different noise pattern from fix in T49838:
No need to hash subframe == 0.
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 8ec9ecfd861..6118cc72239 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -257,9 +257,14 @@ void BlenderSync::sync_integrator() 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")) + - hash_int_2d((int)(b_scene.frame_subframe() * (float)INT_MAX), get_int(cscene, "seed")); + if(b_scene.frame_subframe() != 0.0f) { + /* TODO(sergey): Ideally should be some sort of hash_merge, + * but this is good enough for now. + */ + integrator->seed += hash_int_2d((int)(b_scene.frame_subframe() * (float)INT_MAX), + get_int(cscene, "seed")); + } } integrator->sampling_pattern = (SamplingPattern)get_enum( |