[Bf-blender-cvs] [a2d78d7] master: Fix T49838: Noise randomization for frame should be done per interframes as well

Sergey Sharybin noreply at git.blender.org
Tue Nov 8 11:17:47 CET 2016


Commit: a2d78d7a460302dc3724c8b9efd5b4921e49f762
Author: Sergey Sharybin
Date:   Tue Nov 8 11:16:37 2016 +0100
Branches: master
https://developer.blender.org/rBa2d78d7a460302dc3724c8b9efd5b4921e49f762

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.

===================================================================

M	intern/cycles/blender/blender_sync.cpp

===================================================================

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 6e46682..8ec9ecf 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,




More information about the Bf-blender-cvs mailing list