Commit: ad557da78ac9426babcfa7cf28e54471747ed4c3
Author: Sergey Sharybin
Date:   Fri Nov 3 18:04:50 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBad557da78ac9426babcfa7cf28e54471747ed4c3

Depsgraph: Use explicit graph API for point cache

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

M       source/blender/blenkernel/BKE_pointcache.h
M       source/blender/blenkernel/intern/pointcache.c
M       source/blender/editors/physics/physics_pointcache.c
M       source/blender/render/intern/source/pipeline.c

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

diff --git a/source/blender/blenkernel/BKE_pointcache.h 
b/source/blender/blenkernel/BKE_pointcache.h
index 48fe8423233..ab2c3e863ef 100644
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@ -188,6 +188,7 @@ typedef struct PTCacheBaker {
        struct Main *main;
        struct Scene *scene;
        struct SceneLayer *scene_layer;
+       struct Depsgraph *depsgraph;
        int bake;
        int render;
        int anim_init;
diff --git a/source/blender/blenkernel/intern/pointcache.c 
b/source/blender/blenkernel/intern/pointcache.c
index 35d65551483..4d1c2d8454b 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -3543,6 +3543,7 @@ void BKE_ptcache_bake(PTCacheBaker *baker)
        Main *bmain = baker->main;
        Scene *scene = baker->scene;
        SceneLayer *scene_layer = baker->scene_layer;
+       struct Depsgraph *depsgraph = baker->depsgraph;
        Scene *sce_iter; /* SETLOOPER macro only */
        Base *base;
        ListBase pidlist;
@@ -3661,7 +3662,7 @@ void BKE_ptcache_bake(PTCacheBaker *baker)
        stime = ptime = PIL_check_seconds_timer();
 
        for (int fr = CFRA; fr <= endframe; fr += baker->quick_step, CFRA = fr) 
{
-               BKE_scene_update_for_newframe(G.main->eval_ctx, bmain, scene);
+               BKE_scene_graph_update_for_newframe(G.main->eval_ctx, 
depsgraph, bmain, scene);
 
                if (baker->update_progress) {
                        float progress = ((float)(CFRA - 
startframe)/(float)(endframe - startframe));
@@ -3747,7 +3748,7 @@ void BKE_ptcache_bake(PTCacheBaker *baker)
        CFRA = cfrao;
        
        if (bake) { /* already on cfra unless baking */
-               BKE_scene_update_for_newframe(bmain->eval_ctx, bmain, scene);
+               BKE_scene_graph_update_for_newframe(bmain->eval_ctx, depsgraph, 
bmain, scene);
        }
 
        /* TODO: call redraw all windows somehow */
diff --git a/source/blender/editors/physics/physics_pointcache.c 
b/source/blender/editors/physics/physics_pointcache.c
index 74946e3f44d..7dab98036c6 100644
--- a/source/blender/editors/physics/physics_pointcache.c
+++ b/source/blender/editors/physics/physics_pointcache.c
@@ -167,6 +167,7 @@ static PTCacheBaker *ptcache_baker_create(bContext *C, 
wmOperator *op, bool all)
        baker->main = CTX_data_main(C);
        baker->scene = CTX_data_scene(C);
        baker->scene_layer = CTX_data_scene_layer(C);
+       baker->depsgraph = CTX_data_depsgraph(C);
        baker->bake = RNA_boolean_get(op->ptr, "bake");
        baker->render = 0;
        baker->anim_init = 0;
diff --git a/source/blender/render/intern/source/pipeline.c 
b/source/blender/render/intern/source/pipeline.c
index 61817f08f16..c774be672eb 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -3144,6 +3144,7 @@ static void update_physics_cache(Render *re, Scene 
*scene, SceneLayer *scene_lay
        baker.main = re->main;
        baker.scene = scene;
        baker.scene_layer = scene_layer;
+       baker.depsgraph = BKE_scene_get_depsgraph(scene, scene_layer);
        baker.bake = 0;
        baker.render = 1;
        baker.anim_init = 1;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to