Blender Git Loki
Git Commits -> Revision 511d8a9
Revision 511d8a9 by Lukas Toenne (alembic_pointcache) March 11, 2015, 11:46 (GMT) |
Initial code to support dupli group instancing and overrides through Alembic caches. This creates representations (Abc::Object) for Blender Object and Group datablocks in the Alembic files and uses Alembic instancing to define the dupligroup hierarchy. This leads to a relatively flat hierarchy in Alembic files: Top -> Object/Group -> DerivedMesh/Particles/Hair/Cloth/Smoke/... The dupligroup structure can not be represented by a hierarchical structure such as the Alembic object nesting, because of the many-to-many relationship between objects and groups (a group can contain multiple objects, multiple objects can instance the same group). Instead we use the instancing feature of Alembic to represent dupligroups. This is created in 2 stages to ensure all the main ID blocks have been serialized before creating references. |
Commit Details:
Full Hash: 511d8a98c590a3d2ce9dc51f19c4986095fd824a
Parent Commit: 0a71eea
Lines Changed: +778, -78
4 Added Paths:
/source/blender/pointcache/alembic/abc_group.cpp (+96, -0) (View)
/source/blender/pointcache/alembic/abc_group.h (+62, -0) (View)
/source/blender/pointcache/alembic/abc_object.cpp (+88, -0) (View)
/source/blender/pointcache/alembic/abc_object.h (+64, -0) (View)
/source/blender/pointcache/alembic/abc_group.h (+62, -0) (View)
/source/blender/pointcache/alembic/abc_object.cpp (+88, -0) (View)
/source/blender/pointcache/alembic/abc_object.h (+64, -0) (View)
22 Modified Paths:
/source/blender/blenkernel/BKE_anim.h (+7, -0) (Diff)
/source/blender/blenkernel/BKE_cache_library.h (+6, -2) (Diff)
/source/blender/blenkernel/intern/cache_library.c (+76, -5) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/object_dupli.c (+116, -0) (Diff)
/source/blender/editors/io/io_cache_library.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_cloth.cpp (+15, -13) (Diff)
/source/blender/pointcache/alembic/abc_mesh.cpp (+22, -20) (Diff)
/source/blender/pointcache/alembic/abc_particles.cpp (+34, -32) (Diff)
/source/blender/pointcache/alembic/abc_reader.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_reader.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.h (+21, -0) (Diff)
/source/blender/pointcache/alembic/alembic.cpp (+22, -0) (Diff)
/source/blender/pointcache/alembic/CMakeLists.txt (+4, -0) (Diff)
/source/blender/pointcache/intern/export.cpp (+1, -1) (Diff)
/source/blender/pointcache/intern/ptc_types.h (+51, -3) (Diff)
/source/blender/pointcache/intern/writer.cpp (+2, -1) (Diff)
/source/blender/pointcache/intern/writer.h (+3, -0) (Diff)
/source/blender/pointcache/PTC_api.cpp (+32, -0) (Diff)
/source/blender/pointcache/PTC_api.h (+9, -0) (Diff)
/source/blender/blenkernel/BKE_cache_library.h (+6, -2) (Diff)
/source/blender/blenkernel/intern/cache_library.c (+76, -5) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/object_dupli.c (+116, -0) (Diff)
/source/blender/editors/io/io_cache_library.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_cloth.cpp (+15, -13) (Diff)
/source/blender/pointcache/alembic/abc_mesh.cpp (+22, -20) (Diff)
/source/blender/pointcache/alembic/abc_particles.cpp (+34, -32) (Diff)
/source/blender/pointcache/alembic/abc_reader.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_reader.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.h (+21, -0) (Diff)
/source/blender/pointcache/alembic/alembic.cpp (+22, -0) (Diff)
/source/blender/pointcache/alembic/CMakeLists.txt (+4, -0) (Diff)
/source/blender/pointcache/intern/export.cpp (+1, -1) (Diff)
/source/blender/pointcache/intern/ptc_types.h (+51, -3) (Diff)
/source/blender/pointcache/intern/writer.cpp (+2, -1) (Diff)
/source/blender/pointcache/intern/writer.h (+3, -0) (Diff)
/source/blender/pointcache/PTC_api.cpp (+32, -0) (Diff)
/source/blender/pointcache/PTC_api.h (+9, -0) (Diff)