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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-10-17 20:05:57 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-10-17 20:05:57 +0400
commit2e8ab664d552a3361f286005025e1f6f7df14a23 (patch)
tree8c8141e8996711f86d6acbd85435c0be50a38954 /intern/cycles/blender/blender_mesh.cpp
parent56373ea2718260fed421b94c601fdfa18fab11df (diff)
Fix cycles mesh synchronization being too slow with vector blur and duplis.
Diffstat (limited to 'intern/cycles/blender/blender_mesh.cpp')
-rw-r--r--intern/cycles/blender/blender_mesh.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index 940a923e5af..f6c7319e210 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -539,6 +539,12 @@ void BlenderSync::sync_mesh_motion(BL::Object b_ob, Mesh *mesh, int motion)
if(!size || !ccl::BKE_object_is_deform_modified(b_ob, b_scene, preview))
return;
+ /* ensure we only sync instanced meshes once */
+ if(mesh_motion_synced.find(mesh) != mesh_motion_synced.end())
+ return;
+
+ mesh_motion_synced.insert(mesh);
+
/* get derived mesh */
BL::Mesh b_mesh = object_to_mesh(b_data, b_ob, b_scene, true, !preview, false);