diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-11-06 22:44:39 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-11-06 22:51:16 +0300 |
commit | 535adcdaa3cc83c62abe211b0f645cf0a8237eba (patch) | |
tree | 790dd333d70745c38a8b7cfdb42122d509d24383 /source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc | |
parent | facdc15fdd32c36abcdd4166c539a3c1b98c3966 (diff) |
Depsgraph: Iterates over ID Nodes instead of Bases
Although this works by itself, it should actually happen after:
"Reshuffle collections base flags evaluation, make it so object is gathering
its base flags from collections."
Meanwhile we have one single hacky function (deg_flush_base_flags_and_settings)
to be removed once the task above is tackled.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D2899
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc index a8acc88f7f3..097720f514a 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_scene.cc @@ -65,7 +65,7 @@ extern "C" { namespace DEG { -void DepsgraphNodeBuilder::build_scene(Main *bmain, Scene *scene) +void DepsgraphNodeBuilder::build_scene(Main *bmain, Scene *scene, eDepsNode_LinkedState_Type linked_state) { /* scene ID block */ add_id_node(&scene->id); @@ -77,7 +77,7 @@ void DepsgraphNodeBuilder::build_scene(Main *bmain, Scene *scene) // XXX: depending on how this goes, that scene itself could probably store its // own little partial depsgraph? if (scene->set) { - build_scene(bmain, scene->set); + build_scene(bmain, scene->set, DEG_ID_LINKED_VIA_SET); } /* scene objects */ @@ -85,12 +85,12 @@ void DepsgraphNodeBuilder::build_scene(Main *bmain, Scene *scene) for (SceneLayer *sl = (SceneLayer *)scene->render_layers.first; sl; sl = sl->next) { for (Base *base = (Base *)sl->object_bases.first; base; base = base->next) { /* object itself */ - build_object(scene, base->object); + build_object(scene, base->object, linked_state); base->object->select_color = select_color++; } } if (scene->camera != NULL) { - build_object(scene, scene->camera); + build_object(scene, scene->camera, linked_state); } /* rigidbody */ |