[Bf-blender-cvs] [7b16fda] master: Fix T43388 Cycles Baking gives different results than Cycles Render

Dalai Felinto noreply at git.blender.org
Tue Jan 27 21:44:07 CET 2015


Commit: 7b16fda3799d5b7167ef7ffe533d654810f44e36
Author: Dalai Felinto
Date:   Tue Jan 27 13:02:55 2015 -0200
Branches: master
https://developer.blender.org/rB7b16fda3799d5b7167ef7ffe533d654810f44e36

Fix T43388 Cycles Baking gives different results than Cycles Render

Reported and nailed down by Michale (MeshLogic).
The code that fixes this was commented out, but Brecht gave the go ahead to use it even if it is not the real solution

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

M	intern/cycles/kernel/kernel_bake.h

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

diff --git a/intern/cycles/kernel/kernel_bake.h b/intern/cycles/kernel/kernel_bake.h
index c6cec48..0379fca 100644
--- a/intern/cycles/kernel/kernel_bake.h
+++ b/intern/cycles/kernel/kernel_bake.h
@@ -159,7 +159,8 @@ ccl_device bool is_light_pass(ShaderEvalType type)
 	}
 }
 
-#if 0
+/* this helps with AA but it's not the real solution as it does not AA the geometry
+ *  but it's better than nothing, thus committed */
 ccl_device_inline float bake_clamp_mirror_repeat(float u)
 {
 	/* use mirror repeat (like opengl texture) so that if the barycentric
@@ -170,7 +171,6 @@ ccl_device_inline float bake_clamp_mirror_repeat(float u)
 
 	return (((int)fu) & 1)? 1.0f - u: u;
 }
-#endif
 
 ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input, ccl_global float4 *output,
                                      ShaderEvalType type, int i, int offset, int sample)
@@ -199,8 +199,6 @@ ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input,
 
 	/* random number generator */
 	RNG rng = cmj_hash(offset + i, kernel_data.integrator.seed);
-
-#if 0
 	uint rng_state = cmj_hash(i, kernel_data.integrator.seed);
 	float filter_x, filter_y;
 	path_rng_init(kg, &rng_state, sample, num_samples, &rng, 0, 0, &filter_x, &filter_y);
@@ -210,7 +208,6 @@ ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input,
 		u = bake_clamp_mirror_repeat(u + dudx*(filter_x - 0.5f) + dudy*(filter_y - 0.5f));
 		v = bake_clamp_mirror_repeat(v + dvdx*(filter_x - 0.5f) + dvdy*(filter_y - 0.5f));
 	}
-#endif
 
 	/* triangle */
 	int shader;




More information about the Bf-blender-cvs mailing list