[Bf-blender-cvs] [29602bbd629] blender2.8: Depsgraph: Always respect visibility flag when building object

Sergey Sharybin noreply at git.blender.org
Mon Sep 24 15:58:54 CEST 2018


Commit: 29602bbd629857f0f0a3968ba6f1d7f75128a493
Author: Sergey Sharybin
Date:   Mon Sep 24 15:45:15 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB29602bbd629857f0f0a3968ba6f1d7f75128a493

Depsgraph: Always respect visibility flag when building object

Before it was only doing this for directly linked objects. This was
initially needed to solve fps issues in some of the shots. Now this
fps drop i can no longer reproduce. Was likely needed prior to
modifiers dependencies "inheriting" visibility from the "parent".

This commit makes it so objects which are linked indirectly to the
scene via collections are properly considered visible (or, rather,
evaluatable) by dependency graph.

Solves missing eyelashes and braids issues with 01_035_A.

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_nodes.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 429bfbab4d6..ff3009a6ce5 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -555,11 +555,8 @@ void DepsgraphNodeBuilder::build_object(int base_index,
 	if (object == scene_->camera) {
 		id_node->is_directly_visible = true;
 	}
-	else if (id_node->linked_state == DEG_ID_LINKED_DIRECTLY) {
-		id_node->is_directly_visible = is_visible;
-	}
 	else {
-		id_node->is_directly_visible = false;
+		id_node->is_directly_visible = is_visible;
 	}
 	object->customdata_mask = 0;
 	/* Various flags, flushing from bases/collections. */



More information about the Bf-blender-cvs mailing list