diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-05-16 04:20:57 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2013-05-16 04:20:57 +0400 |
commit | b0bb21e32d08f3efe6e8913407be0007244008c2 (patch) | |
tree | 67ad6a489f8d7f7bd24b29c4ec5ffcf34455e88c /source/blender/freestyle | |
parent | 00f0ac81074b34f846bf64dd3038ef37fe29eedb (diff) |
Fix for [#35352] Freestyle + Geometry Spatial Noise freezes on render.
SpatialNoiseShader, as well as SmoothingShader were not updating stroke length after
geometry modification, causing an infinite loop in Stroke::Resample(int iNPoints) due to
incorrect length-based resampling of stroke vertices.
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r-- | source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp b/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp index 2215bd9df02..d30a75d9e14 100644 --- a/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp +++ b/source/blender/freestyle/intern/stroke/AdvancedStrokeShaders.cpp @@ -158,6 +158,8 @@ int SpatialNoiseShader::shade(Stroke &ioStroke) const ++v; } + ioStroke.UpdateLength(); + return 0; } @@ -342,6 +344,7 @@ void Smoother::copyVertices() (v)->setPoint(p[0], p[1]); ++i; } + _stroke->UpdateLength(); } #if 0 // FIXME |