[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60911] trunk/blender/source/blender/ freestyle/intern/geometry/Noise.cpp: Fix for occasional crashes due to numerical instability in Freestyle Perlin noise modifiers with a large 'octaves' value.

Tamito Kajiyama rd6t-kjym at asahi-net.or.jp
Thu Oct 24 13:41:40 CEST 2013


Revision: 60911
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60911
Author:   kjym3
Date:     2013-10-24 11:41:39 +0000 (Thu, 24 Oct 2013)
Log Message:
-----------
Fix for occasional crashes due to numerical instability in Freestyle Perlin noise modifiers with a large 'octaves' value.
Problem report by Light BWK through personal communications, thanks a lot!

Modified Paths:
--------------
    trunk/blender/source/blender/freestyle/intern/geometry/Noise.cpp

Modified: trunk/blender/source/blender/freestyle/intern/geometry/Noise.cpp
===================================================================
--- trunk/blender/source/blender/freestyle/intern/geometry/Noise.cpp	2013-10-24 01:44:38 UTC (rev 60910)
+++ trunk/blender/source/blender/freestyle/intern/geometry/Noise.cpp	2013-10-24 11:41:39 UTC (rev 60911)
@@ -62,10 +62,10 @@
 #define SETUP(i, b0, b1, r0, r1) \
 	{                            \
 		(t) = (i) + (N);         \
-		(b0) = ((int)(t)) & BM;  \
+		(r0) = modf((t), &(u));  \
+		(r1) = (r0) - 1.0;       \
+		(b0) = ((int)(u)) & BM;  \
 		(b1) = ((b0) + 1) & BM;  \
-		(r0) = (t) - (int)(t);   \
-		(r1) = (r0) - 1.0;       \
 	} (void)0
 
 static void normalize2(float v[2])




More information about the Bf-blender-cvs mailing list