diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp index 8a4fa91d650..4d77962bdfa 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp +++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp @@ -32,10 +32,10 @@ namespace Freestyle { -BlenderFileLoader::BlenderFileLoader(Render *re, ViewLayer *view_layer) +BlenderFileLoader::BlenderFileLoader(Render *re, ViewLayer *view_layer, Depsgraph *depsgraph) { _re = re; - _view_layer = view_layer; + _depsgraph = depsgraph; _Scene = NULL; _numFacesRead = 0; #if 0 @@ -79,11 +79,6 @@ NodeGroup *BlenderFileLoader::Load() _z_offset = 0.f; } - ViewLayer *view_layer = (ViewLayer*)BLI_findstring(&_re->scene->view_layers, _view_layer->name, offsetof(ViewLayer, name)); - Depsgraph *depsgraph = DEG_graph_new(_re->scene, view_layer, DAG_EVAL_RENDER); - - BKE_scene_graph_update_tagged(depsgraph, _re->main); - #if 0 if (G.debug & G_DEBUG_FREESTYLE) { cout << "Frustum: l " << _viewplane_left << " r " << _viewplane_right @@ -95,7 +90,7 @@ NodeGroup *BlenderFileLoader::Load() int id = 0; DEG_OBJECT_ITER_BEGIN( - depsgraph, ob, + _depsgraph, ob, DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY | DEG_ITER_OBJECT_FLAG_LINKED_VIA_SET | DEG_ITER_OBJECT_FLAG_VISIBLE | @@ -111,7 +106,7 @@ NodeGroup *BlenderFileLoader::Load() bool apply_modifiers = false; bool calc_undeformed = false; - Mesh *mesh = BKE_mesh_new_from_object(depsgraph, + Mesh *mesh = BKE_mesh_new_from_object(_depsgraph, _re->main, _re->scene, ob, @@ -125,8 +120,6 @@ NodeGroup *BlenderFileLoader::Load() } DEG_OBJECT_ITER_END; - DEG_graph_free(depsgraph); - // Return the built scene. return _Scene; } |