From 3cd2625132f4cdfe62a24721b9cc3931632084e7 Mon Sep 17 00:00:00 2001 From: Antony Riakiotakis Date: Wed, 15 Oct 2014 11:04:41 +0200 Subject: 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 --- source/blender/render/intern/source/render_texture.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c index 566668bdda5..53ac3b069eb 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; -- cgit v1.2.3