Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2013-10-24 15:41:39 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2013-10-24 15:41:39 +0400
commit804643793eab79f13da2215a521b56a0dcc264c3 (patch)
tree472c30389189c8a269596b051d12c65714723f56
parent268e519b412583da01306c5f9c309fa6327e0e90 (diff)
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!
-rw-r--r--source/blender/freestyle/intern/geometry/Noise.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/freestyle/intern/geometry/Noise.cpp b/source/blender/freestyle/intern/geometry/Noise.cpp
index b21ded9dd95..8ec56e84f95 100644
--- a/source/blender/freestyle/intern/geometry/Noise.cpp
+++ b/source/blender/freestyle/intern/geometry/Noise.cpp
@@ -62,10 +62,10 @@ namespace Freestyle {
#define SETUP(i, b0, b1, r0, r1) \
{ \
(t) = (i) + (N); \
- (b0) = ((int)(t)) & BM; \
- (b1) = ((b0) + 1) & BM; \
- (r0) = (t) - (int)(t); \
+ (r0) = modff((t), &(u)); \
(r1) = (r0) - 1.0; \
+ (b0) = ((int)(u)) & BM; \
+ (b1) = ((b0) + 1) & BM; \
} (void)0
static void normalize2(float v[2])