[Bf-blender-cvs] [ec8bc11] depsgraph_refactor: Depsgraph: WIP cleanups in preparation for reworking how geometry rels get added

Joshua Leung noreply at git.blender.org
Wed Jan 7 12:59:14 CET 2015


Commit: ec8bc1187dcea7bb72715c735a13b9547ee32234
Author: Joshua Leung
Date:   Thu Jan 8 00:39:19 2015 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rBec8bc1187dcea7bb72715c735a13b9547ee32234

Depsgraph: WIP cleanups in preparation for reworking how geometry rels get added

* Moved geometry uberdata node creation to obdata_geom handling. It's not needed
  for lamps/cameras, while geometry covers mesh/curve/lattice already.

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

M	source/blender/depsgraph/intern/depsgraph_build_nodes.cpp

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

diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
index 019a9e7..acb7c51 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
@@ -258,21 +258,6 @@ void DepsgraphNodeBuilder::build_object(Scene *scene, Base *base, Object *ob)
 	if (ob->particlesystem.first) {
 		build_particles(ob);
 	}
-
-	/* Temporary uber-update node, which does everything.
-	 * It is for the being we're porting old dependencies into the new system.
-	 * We'll get rid of this node as soon as all the granular update functions
-	 * are filled in.
-	 *
-	 * TODO(sergey): Get rid of this node.
-	 */
-	if (ob->type != OB_ARMATURE) {
-		/* Armatures does no longer require uber node. */
-		add_operation_node(&ob->id, DEPSNODE_TYPE_GEOMETRY,
-		                   DEPSOP_TYPE_POST, function_bind(BKE_object_eval_uber_data, _1, scene, ob),
-		                   DEG_OPCODE_GEOMETRY_UBEREVAL);
-	}
-
 }
 
 void DepsgraphNodeBuilder::build_object_transform(Scene *scene, Object *ob)
@@ -516,6 +501,7 @@ void DepsgraphNodeBuilder::build_particles(Object *ob)
 		build_animdata(&part->id);
 		
 		/* this particle system */
+		// TODO: for now, this will just be a placeholder "ubereval" node
 		add_operation_node(psys_comp,
 		                   DEPSOP_TYPE_EXEC, function_bind(BKE_particle_system_eval, _1, ob, psys),
 		                   DEG_OPCODE_PSYS_EVAL);
@@ -658,9 +644,18 @@ void DepsgraphNodeBuilder::build_obdata_geom(Scene *scene, Object *ob)
 {
 	ID *obdata = (ID *)ob->data;
 	
-	/* nodes for result of obdata's evaluation, and geometry evaluation on object */
+	/* Temporary uber-update node, which does everything.
+	 * It is for the being we're porting old dependencies into the new system.
+	 * We'll get rid of this node as soon as all the granular update functions
+	 * are filled in.
+	 *
+	 * TODO(sergey): Get rid of this node.
+	 */
+	add_operation_node(&ob->id, DEPSNODE_TYPE_GEOMETRY,
+					   DEPSOP_TYPE_POST, function_bind(BKE_object_eval_uber_data, _1, scene, ob),
+					   DEG_OPCODE_GEOMETRY_UBEREVAL);
 	
-	/* type-specific node/links */
+	/* nodes for result of obdata's evaluation, and geometry evaluation on object */
 	switch (ob->type) {
 		case OB_MESH:
 		{
@@ -735,9 +730,6 @@ void DepsgraphNodeBuilder::build_obdata_geom(Scene *scene, Object *ob)
 		ModifierData *md;
 		
 		for (md = (ModifierData *)ob->modifiers.first; md; md = md->next) {
-//			ModifierTypeInfo *mti = modifierType_getInfo((ModifierType)md->type);
-			
-			// FIXME: this should eventually be on the obdata datablock's geometry?
 			add_operation_node(&ob->id, DEPSNODE_TYPE_GEOMETRY,
 			                   DEPSOP_TYPE_EXEC, function_bind(BKE_object_eval_modifier, _1, scene, ob, md),
 			                   DEG_OPCODE_GEOMETRY_MODIFIER, md->name);




More information about the Bf-blender-cvs mailing list