From 340bfdef2e424c59e85785c1660db805b3255882 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 6 Apr 2018 09:17:53 +0200 Subject: 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 --- .../freestyle/intern/blender_interface/BlenderFileLoader.cpp | 6 +++--- .../freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'source/blender/freestyle') diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp index b159bade13d..3935c724d11 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp @@ -79,11 +79,11 @@ NodeGroup *BlenderFileLoader::Load() _z_offset = 0.f; } - EvaluationContext *eval_ctx = DEG_evaluation_context_new(DAG_EVAL_RENDER); - Depsgraph *depsgraph = DEG_graph_new(); - ViewLayer *view_layer = (ViewLayer*)BLI_findstring(&_re->scene->view_layers, _view_layer->name, offsetof(ViewLayer, name)); + EvaluationContext *eval_ctx = DEG_evaluation_context_new(DAG_EVAL_RENDER); + Depsgraph *depsgraph = DEG_graph_new(_re->scene, view_layer, DAG_EVAL_RENDER); + DEG_evaluation_context_init_from_view_layer_for_render( eval_ctx, depsgraph, diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp index 62be648bba3..8aac83a6179 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp @@ -77,7 +77,6 @@ const char *BlenderStrokeRenderer::uvNames[] = {"along_stroke", "along_stroke_ti BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : StrokeRenderer() { freestyle_bmain = re->freestyle_bmain; - freestyle_depsgraph = DEG_graph_new(); // for stroke mesh generation _width = re->winx; @@ -142,7 +141,6 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str } BKE_scene_set_background(freestyle_bmain, freestyle_scene); - DEG_graph_id_tag_update(freestyle_bmain, freestyle_depsgraph, &freestyle_scene->id, 0); // Scene layer. ViewLayer *view_layer = (ViewLayer *)freestyle_scene->view_layers.first; @@ -150,7 +148,6 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str // Camera Object *object_camera = BKE_object_add(freestyle_bmain, freestyle_scene, view_layer, OB_CAMERA, NULL); - DEG_graph_id_tag_update(freestyle_bmain, freestyle_depsgraph, &object_camera->id, 0); Camera *camera = (Camera *)object_camera->data; camera->type = CAM_ORTHO; @@ -179,7 +176,10 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str else _nodetree_hash = NULL; - // New IDs were added, tag relations for update. + // Depsgraph + freestyle_depsgraph = DEG_graph_new(re->scene, view_layer, DAG_EVAL_RENDER); + DEG_graph_id_tag_update(freestyle_bmain, freestyle_depsgraph, &freestyle_scene->id, 0); + DEG_graph_id_tag_update(freestyle_bmain, freestyle_depsgraph, &object_camera->id, 0); DEG_graph_tag_relations_update(freestyle_depsgraph); } -- cgit v1.2.3