diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2015-05-30 14:28:21 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-05-30 14:28:21 +0300 |
commit | 6d6db87ae7e0e0a75f592e531fc9d8410760fd45 (patch) | |
tree | 22f50715f37435aea0afe8ca07bb4dc630c0f64e /source | |
parent | 179acf028cb8fc8ec1ff21670b6d0150361940e4 (diff) |
Make use of the subframe value in Scene when reading from cache archives.
Subframes are necessary when interpolating values.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/object_dupli.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_main_api.c | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_object.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/object_dupli.c b/source/blender/blenkernel/intern/object_dupli.c index da245506a87..d022937f0a3 100644 --- a/source/blender/blenkernel/intern/object_dupli.c +++ b/source/blender/blenkernel/intern/object_dupli.c @@ -1234,7 +1234,7 @@ static const DupliGenerator *get_dupli_generator(const DupliContext *ctx) ListBase *object_duplilist_ex(EvaluationContext *eval_ctx, Scene *scene, Object *ob, bool update) { if (update) { - BKE_object_dupli_cache_update(scene, ob, eval_ctx, (float)scene->r.cfra); + BKE_object_dupli_cache_update(scene, ob, eval_ctx, (float)scene->r.cfra + scene->r.subframe); } if (ob->dup_cache && (ob->dup_cache->result != CACHE_READ_SAMPLE_INVALID)) { diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c index a89373c071c..b9b3bb519ca 100644 --- a/source/blender/makesrna/intern/rna_main_api.c +++ b/source/blender/makesrna/intern/rna_main_api.c @@ -337,7 +337,7 @@ Mesh *rna_Main_meshes_new_from_dupli( } if (is_cached) { - float frame = (float)scene->r.cfra; + float frame = (float)scene->r.cfra + scene->r.subframe; bool use_render = (settings == 2); if (!ELEM(settings, 1, 2)) diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index a02839a9374..edffcf07525 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -1530,7 +1530,7 @@ Strands *rna_DupliObject_strands_new(DupliObject *dob, ReportList *UNUSED(report bool is_cached = parent->cache_library && (parent->cache_library->source_mode == CACHE_LIBRARY_SOURCE_CACHE || parent->cache_library->display_mode == CACHE_LIBRARY_DISPLAY_RESULT); if (is_cached) { - float frame = (float)scene->r.cfra; + float frame = (float)scene->r.cfra + scene->r.subframe; bool use_render = (settings == 2); if (!ELEM(settings, 1, 2)) @@ -1582,7 +1582,7 @@ StrandsChildren *rna_DupliObject_strands_children_new(DupliObject *dob, ReportLi bool is_cached = parent->cache_library && (parent->cache_library->source_mode == CACHE_LIBRARY_SOURCE_CACHE || parent->cache_library->display_mode == CACHE_LIBRARY_DISPLAY_RESULT); if (is_cached) { - float frame = (float)scene->r.cfra; + float frame = (float)scene->r.cfra + scene->r.subframe; bool use_render = (settings == 2); if (!ELEM(settings, 1, 2)) |