Blender Git Loki
Git Commits -> Revision 5cf5e60
Revision 5cf5e60 by Kévin Dietrich (temp-abc-features) October 6, 2021, 01:55 (GMT) |
Alembic: add support for archive layers This adds support for Alembic archive layers for the Blender CacheFile and the Cycles Alembic procedural. Layers are a feature of the Alembic library in which an archive can be opened from a list of archives or file paths, and where archives override data from the others. The order of the files matter since latter files override data from former ones (i.e. a stack). This feature is useful to, for example, replace a UV map or the animation of an object without having to re-export the entire scene; only the affected hierarchy needs to be re-exported, and "imported" as a layer. This adds a UI list for adding layers to the CacheFile, with buttons to change their relative order. The filepath of the CacheFile is implicitely considered as the bottom layer, although it is not shown as such in the UI. In the future, maybe with T68933, this could be the basis for a non- destructive workflow where edits to an Alembic archive are exported as layers. |
Commit Details:
Full Hash: 5cf5e60918eaf4f29f7ca4e90f7d6be468595e44
Parent Commit: 11d31ad
Lines Changed: +544, -12
18 Modified Paths:
/intern/cycles/blender/blender_object.cpp (+11, -0) (Diff)
/intern/cycles/render/alembic.cpp (+15, -2) (Diff)
/intern/cycles/render/alembic.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_cachefile.h (+12, -0) (Diff)
/source/blender/blenkernel/intern/cachefile.c (+57, -1) (Diff)
/source/blender/editors/interface/interface_intern.h (+3, -0) (Diff)
/source/blender/editors/interface/interface_templates.c (+55, -1) (Diff)
/source/blender/editors/interface/interface_template_list.cc (+1, -0) (Diff)
/source/blender/editors/io/io_cache.c (+163, -3) (Diff)
/source/blender/editors/io/io_cache.h (+4, -0) (Diff)
/source/blender/editors/io/io_ops.c (+4, -0) (Diff)
/source/blender/io/alembic/ABC_alembic.h (+2, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_archive.cc (+49, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_archive.h (+9, -1) (Diff)
/source/blender/io/alembic/intern/alembic_capi.cc (+17, -3) (Diff)
/source/blender/makesdna/DNA_cachefile_types.h (+18, -1) (Diff)
/source/blender/makesrna/intern/rna_cachefile.c (+119, -0) (Diff)
/source/blender/makesrna/RNA_access.h (+1, -0) (Diff)
/intern/cycles/render/alembic.cpp (+15, -2) (Diff)
/intern/cycles/render/alembic.h (+4, -0) (Diff)
/source/blender/blenkernel/BKE_cachefile.h (+12, -0) (Diff)
/source/blender/blenkernel/intern/cachefile.c (+57, -1) (Diff)
/source/blender/editors/interface/interface_intern.h (+3, -0) (Diff)
/source/blender/editors/interface/interface_templates.c (+55, -1) (Diff)
/source/blender/editors/interface/interface_template_list.cc (+1, -0) (Diff)
/source/blender/editors/io/io_cache.c (+163, -3) (Diff)
/source/blender/editors/io/io_cache.h (+4, -0) (Diff)
/source/blender/editors/io/io_ops.c (+4, -0) (Diff)
/source/blender/io/alembic/ABC_alembic.h (+2, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_archive.cc (+49, -0) (Diff)
/source/blender/io/alembic/intern/abc_reader_archive.h (+9, -1) (Diff)
/source/blender/io/alembic/intern/alembic_capi.cc (+17, -3) (Diff)
/source/blender/makesdna/DNA_cachefile_types.h (+18, -1) (Diff)
/source/blender/makesrna/intern/rna_cachefile.c (+119, -0) (Diff)
/source/blender/makesrna/RNA_access.h (+1, -0) (Diff)