[Bf-blender-cvs] [2a2eb0c] master: Cycles: Fix different noise pattern from fix in T49838:

Sergey Sharybin noreply at git.blender.org
Wed Nov 16 15:32:07 CET 2016


Commit: 2a2eb0c463bd96d42f7306eb17f88cad87f73aea
Author: Sergey Sharybin
Date:   Wed Nov 16 15:12:31 2016 +0100
Branches: master
https://developer.blender.org/rB2a2eb0c463bd96d42f7306eb17f88cad87f73aea

Cycles: Fix different noise pattern from fix in T49838:

No need to hash subframe == 0.

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

M	intern/cycles/blender/blender_sync.cpp

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

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 8ec9ecf..6118cc7 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(




More information about the Bf-blender-cvs mailing list