diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2016-11-16 19:01:19 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2016-11-16 19:04:21 +0300 |
commit | 2bcb1b208a4193fb28f1e0c4408b733f5ee2c028 (patch) | |
tree | 8b9260ffd9fb7b371dc66955903c7b0c7f4e7bf9 /intern/cycles/blender | |
parent | 930f999f6ea683d02ac490026a52817f1d965377 (diff) | |
parent | 2a2eb0c463bd96d42f7306eb17f88cad87f73aea (diff) |
Merge remote-tracking branch 'origin/master' into blender2.8
Diffstat (limited to 'intern/cycles/blender')
-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 62b9fa3c92b..49ddc8af9a8 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -249,9 +249,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( |