Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
index ac3970ed3ab..a396aecd3a8 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
@@ -65,6 +65,14 @@ extern "C" {
namespace DEG {
+void DepsgraphNodeBuilder::build_layer_collections(ListBase *lb)
+{
+ for (LayerCollection *lc = (LayerCollection *)lb->first; lc; lc = lc->next) {
+ build_collection(lc->collection);
+ build_layer_collections(&lc->layer_collections);
+ }
+}
+
void DepsgraphNodeBuilder::build_view_layer(
Scene *scene,
ViewLayer *view_layer,
@@ -100,6 +108,7 @@ void DepsgraphNodeBuilder::build_view_layer(
base->object->select_color = select_color++;
++base_index;
}
+ build_layer_collections(&view_layer->layer_collections);
if (scene->camera != NULL) {
build_object(-1, scene->camera, DEG_ID_LINKED_INDIRECTLY);
}
@@ -140,7 +149,7 @@ void DepsgraphNodeBuilder::build_view_layer(
DEG_NODE_TYPE_LAYER_COLLECTIONS,
function_bind(BKE_layer_eval_view_layer_indexed,
_1,
- &scene_cow->id,
+ scene_cow,
view_layer_index_),
DEG_OPCODE_VIEW_LAYER_EVAL);
/* Parameters evaluation for scene relations mainly. */