[Bf-blender-cvs] [48590d0dc9c] cycles_procedural_api: only use a single procedural per cache file

Kévin Dietrich noreply at git.blender.org
Fri Oct 9 17:56:03 CEST 2020


Commit: 48590d0dc9c7061c12d8566a98a027394772410f
Author: Kévin Dietrich
Date:   Wed Oct 7 02:17:59 2020 +0200
Branches: cycles_procedural_api
https://developer.blender.org/rB48590d0dc9c7061c12d8566a98a027394772410f

only use a single procedural per cache file

===================================================================

M	intern/cycles/blender/blender_object.cpp
M	intern/cycles/blender/blender_sync.h

===================================================================

diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index d5ded6a5f33..2010935863c 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -347,13 +347,14 @@ void BlenderSync::sync_procedural(BL::Object &b_ob,
     return;
   }
 
-  ObjectKey key(b_ob.parent(), NULL, b_ob, false);
+  BL::CacheFile cache_file = b_mesh_cache.cache_file();
+  void *cache_file_key = cache_file.ptr.data;
 
-  AlembicProcedural *p = static_cast<AlembicProcedural *>(procedural_map.find(key));
+  AlembicProcedural *p = static_cast<AlembicProcedural *>(procedural_map.find(cache_file_key));
 
   if (!p) {
     p = scene->create_node<AlembicProcedural>();
-    procedural_map.add(key, p);
+    procedural_map.add(cache_file_key, p);
   }
   else {
     procedural_map.used(p);
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h
index cdb02ed837c..b039d6d086a 100644
--- a/intern/cycles/blender/blender_sync.h
+++ b/intern/cycles/blender/blender_sync.h
@@ -223,7 +223,7 @@ class BlenderSync {
 
   id_map<void *, Shader> shader_map;
   id_map<ObjectKey, Object> object_map;
-  id_map<ObjectKey, Procedural> procedural_map;
+  id_map<void *, Procedural> procedural_map;
   id_map<GeometryKey, Geometry> geometry_map;
   id_map<ObjectKey, Light> light_map;
   id_map<ParticleSystemKey, ParticleSystem> particle_system_map;



More information about the Bf-blender-cvs mailing list