diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-04-06 10:17:53 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-04-13 15:17:22 +0300 |
commit | 340bfdef2e424c59e85785c1660db805b3255882 (patch) | |
tree | d4677eef333ecd0d9d07e8d87b7d31aa254bf02d /source/blender/render | |
parent | 5d7952d9c75d087b551ab95dff90ee2f7f636417 (diff) |
Depsgraph: store mode and time in depsgraph, add view layer / scene accessors.
Scene, view layer and mode are now set in the constructor and never changed.
Time is updated on frame changes to indicate which frame is being or has been
evaluated last.
This is a step towards making EvaluationContext obsolete.
Differential Revision: https://developer.blender.org/D3144
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/convertblender.c | 2 | ||||
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c index 003c69ccbd4..bb5e68ff3ad 100644 --- a/source/blender/render/intern/source/convertblender.c +++ b/source/blender/render/intern/source/convertblender.c @@ -5948,7 +5948,7 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, ViewLayer *view_l RE_init_threadcount(re); EvaluationContext *eval_ctx = DEG_evaluation_context_new(DAG_EVAL_RENDER); - Depsgraph *depsgraph = DEG_graph_new(); + Depsgraph *depsgraph = DEG_graph_new(scene, view_layer, DAG_EVAL_RENDER); DEG_evaluation_context_init_from_view_layer_for_render(eval_ctx, depsgraph, scene, view_layer); DEG_graph_build_from_view_layer(depsgraph, bmain, scene, view_layer); BKE_scene_graph_update_tagged(eval_ctx, diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 617e49c5d0f..15c8d0d524d 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -530,21 +530,24 @@ RenderData *RE_engine_get_render_data(Render *re) /* Depsgraph */ static void engine_depsgraph_init(RenderEngine *engine, ViewLayer *view_layer) { + Main *bmain = engine->re->main; + Scene *scene = engine->re->scene; + engine->eval_ctx = DEG_evaluation_context_new(DAG_EVAL_RENDER); - engine->depsgraph = DEG_graph_new(); + engine->depsgraph = DEG_graph_new(scene, view_layer, DAG_EVAL_RENDER); engine->view_layer = view_layer; DEG_evaluation_context_init_from_view_layer_for_render( engine->eval_ctx, engine->depsgraph, - engine->re->scene, + scene, view_layer); BKE_scene_graph_update_tagged( engine->eval_ctx, engine->depsgraph, - engine->re->main, - engine->re->scene, + bmain, + scene, view_layer); } |