[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