[Bf-blender-cvs] [3cd2625] blender-v2.72-release: Better fix for T42139

Antony Riakiotakis noreply at git.blender.org
Wed Oct 15 16:59:02 CEST 2014


Commit: 3cd2625132f4cdfe62a24721b9cc3931632084e7
Author: Antony Riakiotakis
Date:   Wed Oct 15 11:04:41 2014 +0200
Branches: blender-v2.72-release
https://developer.blender.org/rB3cd2625132f4cdfe62a24721b9cc3931632084e7

Better fix for T42139

Noise function's significant bits are up to 31st bit. This should now
give the same visual result as before, minus the stripes.

Issue pointed out by Anthony Edlin, thanks!

Conflicts:
	source/blender/render/intern/source/render_texture.c

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

M	source/blender/render/intern/source/render_texture.c

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

diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 566668b..53ac3b0 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -712,16 +712,16 @@ static float voronoiTex(Tex *tex, const float texvec[3], TexResult *texres)
 static int texnoise(Tex *tex, TexResult *texres)
 {
 	float div=3.0;
-	int val, ran, loop;
+	int val, ran, loop, shift = 29;
 	
 	ran= BLI_rand();
 	val= (ran & 3);
 	
 	loop= tex->noisedepth;
 	while (loop--) {
-		ran= (ran>>2);
-		val*= (ran & 3);
-		div*= 3.0f;
+		shift -= 2;		
+		val *= ((ran >> shift) & 3);
+		div *= 3.0f;
 	}
 	
 	texres->tin= ((float)val)/div;




More information about the Bf-blender-cvs mailing list