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:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-08-23 17:17:06 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-08-23 17:40:35 +0300
commitf97d61c4bd2a9ab3c1dd0ae4902778bc9703a716 (patch)
tree1d426512c88b369396cc6885523570606f57347f /source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc
parenta9ecfc965349241b858b1b23d0a3d9b987600b5d (diff)
Depsgraph: Bring back visibility checks based on collection restrict flags
The title says it all actually, the idea is to speedup the following case: - Visible duplicator of a restricted collection (reported as T56512), One of the questionable change is that none of the view layer bases is ignored now. This ensures corresponding objects will have copy-on-write component evaluated, making it possible to access those pointers. The evaluation of those objects is skipped. Reviewers: brecht Differential Revision: https://developer.blender.org/D3641
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.cc9
1 files changed, 4 insertions, 5 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 3d7b2d6d232..409df45de27 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
@@ -75,7 +75,7 @@ void DepsgraphNodeBuilder::build_layer_collections(ListBase *lb)
continue;
}
if ((lc->flag & LAYER_COLLECTION_EXCLUDE) == 0) {
- build_collection(DEG_COLLECTION_OWNER_SCENE, lc->collection);
+ build_collection(lc->collection);
}
build_layer_collections(&lc->layer_collections);
}
@@ -108,10 +108,9 @@ void DepsgraphNodeBuilder::build_view_layer(
BASE_ENABLED_VIEWPORT : BASE_ENABLED_RENDER;
LISTBASE_FOREACH(Base *, base, &view_layer->object_bases) {
/* object itself */
- if (base->flag & base_flag) {
- build_object(base_index, base->object, linked_state);
- base->object->select_color = select_color++;
- }
+ const bool is_object_visible = (base->flag & base_flag);
+ build_object(base_index, base->object, linked_state, is_object_visible);
+ base->object->select_color = select_color++;
++base_index;
}
build_layer_collections(&view_layer->layer_collections);