Merge remote-tracking branch 'origin/master' into blender2.8
This commit is contained in:
@@ -65,6 +65,7 @@ static void copyData(ModifierData *md, ModifierData *target)
|
||||
|
||||
if (tmcmd->cache_file) {
|
||||
id_us_plus(&tmcmd->cache_file->id);
|
||||
tmcmd->reader = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,6 +76,12 @@ static void freeData(ModifierData *md)
|
||||
if (mcmd->cache_file) {
|
||||
id_us_min(&mcmd->cache_file->id);
|
||||
}
|
||||
|
||||
if (mcmd->reader) {
|
||||
#ifdef WITH_ALEMBIC
|
||||
CacheReader_free(mcmd->reader);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
static bool isDisabled(ModifierData *md, int UNUSED(useRenderParams))
|
||||
@@ -102,10 +109,16 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
|
||||
|
||||
BKE_cachefile_ensure_handle(G.main, cache_file);
|
||||
|
||||
DerivedMesh *result = ABC_read_mesh(cache_file->handle,
|
||||
if (!mcmd->reader) {
|
||||
mcmd->reader = CacheReader_open_alembic_object(cache_file->handle,
|
||||
mcmd->reader,
|
||||
ob,
|
||||
mcmd->object_path);
|
||||
}
|
||||
|
||||
DerivedMesh *result = ABC_read_mesh(mcmd->reader,
|
||||
ob,
|
||||
dm,
|
||||
mcmd->object_path,
|
||||
time,
|
||||
&err_str,
|
||||
mcmd->read_flag);
|
||||
|
||||
Reference in New Issue
Block a user