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:
authorJacques Lucke <jacques@blender.org>2021-11-04 20:32:01 +0300
committerJacques Lucke <jacques@blender.org>2021-11-04 20:32:01 +0300
commitc7fcc50842d85664d2b07c32b181951ea7661440 (patch)
treef7f79d03c30de2306d74f35d5f9acd49875c4a83 /intern/cycles/blender/sync.h
parentb7260ca4c9f4b7618c9c214f1270e31d6ed9886b (diff)
Fix T91986: incorrect syncing of geometry instances
The issue was that some geometries were not synced again even when they changed. This commit adds a map that keeps track of the geometries that need to be updated when an object has changed. Differential Revision: https://developer.blender.org/D13020
Diffstat (limited to 'intern/cycles/blender/sync.h')
-rw-r--r--intern/cycles/blender/sync.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/blender/sync.h b/intern/cycles/blender/sync.h
index c2377406876..7e5d0324ca9 100644
--- a/intern/cycles/blender/sync.h
+++ b/intern/cycles/blender/sync.h
@@ -225,6 +225,8 @@ class BlenderSync {
set<Geometry *> geometry_synced;
set<Geometry *> geometry_motion_synced;
set<Geometry *> geometry_motion_attribute_synced;
+ /** Remember which geometries come from which objects to be able to sync them after changes. */
+ map<void *, set<BL::ID>> instance_geometries_by_object;
set<float> motion_times;
void *world_map;
bool world_recalc;