[Bf-blender-cvs] [7ba1babc902] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Thu Nov 23 11:48:05 CET 2017


Commit: 7ba1babc902b9baf460b26ac24a19497231b64b5
Author: Sergey Sharybin
Date:   Thu Nov 23 11:42:06 2017 +0100
Branches: blender2.8
https://developer.blender.org/rB7ba1babc902b9baf460b26ac24a19497231b64b5

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/depsgraph/DEG_depsgraph_build.h
index c85c15e2aa2,b268822f659..334b15cc638
--- a/source/blender/depsgraph/DEG_depsgraph_build.h
+++ b/source/blender/depsgraph/DEG_depsgraph_build.h
@@@ -159,8 -164,9 +159,8 @@@ typedef bool (*DEG_CollobjFilterFunctio
  
  void DEG_add_collision_relations(struct DepsNodeHandle *handle,
                                   struct Scene *scene,
-                                  struct Object *ob,
+                                  struct Object *object,
                                   struct Group *group,
 -                                 int layer,
                                   unsigned int modifier_type,
                                   DEG_CollobjFilterFunction fn,
                                   bool dupli,
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index ae6be5256dd,60150eda0bf..aea74af6861
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -396,38 -309,48 +396,38 @@@ void DepsgraphNodeBuilder::build_group(
  	}
  }
  
- void DepsgraphNodeBuilder::build_object(Object *ob,
 -void DepsgraphNodeBuilder::build_object(Base *base, Object *object)
++void DepsgraphNodeBuilder::build_object(Object *object,
 +                                        eDepsNode_LinkedState_Type linked_state)
  {
 -	const bool has_object = (object->id.tag & LIB_TAG_DOIT);
 -	IDDepsNode *id_node = (has_object)
 -	        ? graph_->find_id_node(&object->id)
 -	        : add_id_node(&object->id);
 -	/* Update node layers.
 -	 * Do it for both new and existing ID nodes. This is so because several
 -	 * bases might be sharing same object.
 -	 */
 -	if (base != NULL) {
 -		id_node->layers |= base->lay;
 -	}
 -	if (object->type == OB_CAMERA) {
 -		/* Camera should always be updated, it used directly by viewport.
 -		 *
 -		 * TODO(sergey): Make it only for active scene camera.
 -		 */
 -		id_node->layers |= (unsigned int)(-1);
 -	}
  	/* Skip rest of components if the ID node was already there. */
- 	if (ob->id.tag & LIB_TAG_DOIT) {
- 		IDDepsNode *id_node = find_id_node(&ob->id);
 -	if (has_object) {
++	if (object->id.tag & LIB_TAG_DOIT) {
++		IDDepsNode *id_node = find_id_node(&object->id);
 +		id_node->linked_state = max(id_node->linked_state, linked_state);
  		return;
  	}
- 	ob->id.tag |= LIB_TAG_DOIT;
+ 	object->id.tag |= LIB_TAG_DOIT;
 +
 +	/* Create ID node for object and begin init. */
- 	IDDepsNode *id_node = add_id_node(&ob->id);
++	IDDepsNode *id_node = add_id_node(&object->id);
 +	id_node->linked_state = linked_state;
 +
- 	ob->customdata_mask = 0;
+ 	object->customdata_mask = 0;
  
  	/* Standard components. */
- 	build_object_transform(ob);
+ 	build_object_transform(object);
  
- 	if (ob->parent != NULL) {
- 		build_object(ob->parent, linked_state);
+ 	if (object->parent != NULL) {
 -		build_object(NULL, object->parent);
++		build_object(object->parent, linked_state);
  	}
- 	if (ob->modifiers.first != NULL) {
+ 	if (object->modifiers.first != NULL) {
  		BuilderWalkUserData data;
  		data.builder = this;
- 		modifiers_foreachObjectLink(ob, modifier_walk, &data);
+ 		modifiers_foreachObjectLink(object, modifier_walk, &data);
  	}
- 	if (ob->constraints.first != NULL) {
+ 	if (object->constraints.first != NULL) {
  		BuilderWalkUserData data;
  		data.builder = this;
- 		BKE_constraints_id_loop(&ob->constraints, constraint_walk, &data);
+ 		BKE_constraints_id_loop(&object->constraints, constraint_walk, &data);
  	}
  
  	/* Object data. */
@@@ -466,16 -389,12 +466,16 @@@
  				break;
  
  			case OB_CAMERA: /* Camera */
- 				build_camera(ob);
+ 				build_camera(object);
  				break;
  
 +			case OB_LIGHTPROBE:
- 				build_lightprobe(ob);
++				build_lightprobe(object);
 +				break;
 +
  			default:
  			{
- 				ID *obdata = (ID *)ob->data;
+ 				ID *obdata = (ID *)object->data;
  				if ((obdata->tag & LIB_TAG_DOIT) == 0) {
  					build_animdata(obdata);
  				}
@@@ -503,60 -422,53 +503,60 @@@
  	}
  
  	/* Object that this is a proxy for. */
- 	if (ob->proxy) {
- 		ob->proxy->proxy_from = ob;
- 		build_object(ob->proxy, DEG_ID_LINKED_INDIRECTLY);
+ 	if (object->proxy) {
+ 		object->proxy->proxy_from = object;
 -		build_object(base, object->proxy);
++		build_object(object->proxy, DEG_ID_LINKED_INDIRECTLY);
  	}
  
  	/* Object dupligroup. */
- 	if (ob->dup_group != NULL) {
- 		build_group(ob->dup_group);
+ 	if (object->dup_group != NULL) {
 -		build_group(base, object->dup_group);
++		build_group(object->dup_group);
  	}
  }
  
- void DepsgraphNodeBuilder::build_object_transform(Object *ob)
+ void DepsgraphNodeBuilder::build_object_transform(Object *object)
  {
  	OperationDepsNode *op_node;
 +	Scene *scene_cow = get_cow_datablock(scene_);
- 	Object *ob_cow = get_cow_datablock(ob);
++	Object *ob_cow = get_cow_datablock(object);
  
  	/* local transforms (from transform channels - loc/rot/scale + deltas) */
- 	op_node = add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
+ 	op_node = add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -	                             function_bind(BKE_object_eval_local_transform, _1, scene_, object),
 +	                             function_bind(BKE_object_eval_local_transform,
 +	                                           _1,
 +	                                           scene_cow,
 +	                                           ob_cow),
  	                             DEG_OPCODE_TRANSFORM_LOCAL);
  	op_node->set_as_entry();
  
  	/* object parent */
- 	if (ob->parent != NULL) {
- 		add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
 -	if (object->parent) {
++	if (object->parent != NULL) {
+ 		add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -		                   function_bind(BKE_object_eval_parent, _1, scene_, object),
 +		                   function_bind(BKE_object_eval_parent,
 +		                                 _1,
 +		                                 scene_cow,
 +		                                 ob_cow),
  		                   DEG_OPCODE_TRANSFORM_PARENT);
  	}
  
  	/* object constraints */
- 	if (ob->constraints.first != NULL) {
- 		build_object_constraints(ob);
 -	if (object->constraints.first) {
++	if (object->constraints.first != NULL) {
+ 		build_object_constraints(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.
 -	 */
 +	/* Rest of transformation update. */
- 	add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
+ 	add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -	                   function_bind(BKE_object_eval_uber_transform, _1, scene_, object),
 +	                   function_bind(BKE_object_eval_uber_transform,
 +	                                 _1,
 +	                                 scene_cow,
 +	                                 ob_cow),
  	                   DEG_OPCODE_TRANSFORM_OBJECT_UBEREVAL);
  
  	/* object transform is done */
- 	op_node = add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
+ 	op_node = add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -	                             function_bind(BKE_object_eval_done, _1, object),
 +	                             function_bind(BKE_object_eval_done,
 +	                                           _1,
 +	                                           ob_cow),
  	                             DEG_OPCODE_TRANSFORM_FINAL);
  	op_node->set_as_exit();
  }
@@@ -578,14 -490,11 +578,14 @@@
   *
   * -- Aligorith, August 2013
   */
- void DepsgraphNodeBuilder::build_object_constraints(Object *ob)
+ void DepsgraphNodeBuilder::build_object_constraints(Object *object)
  {
  	/* create node for constraint stack */
- 	add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
+ 	add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -	                   function_bind(BKE_object_eval_constraints, _1, scene_, object),
 +	                   function_bind(BKE_object_eval_constraints,
 +	                                 _1,
 +	                                 get_cow_datablock(scene_),
- 	                                 get_cow_datablock(ob)),
++	                                 get_cow_datablock(object)),
  	                   DEG_OPCODE_TRANSFORM_CONSTRAINTS);
  }
  
@@@ -752,14 -638,9 +752,14 @@@ void DepsgraphNodeBuilder::build_rigidb
  				continue;
  
  			/* 2) create operation for flushing results */
 -			/* object's transform component - where the rigidbody operation lives */
 +			/* object's transform component - where the rigidbody operation
 +			 * lives. */
- 			add_operation_node(&ob->id, DEG_NODE_TYPE_TRANSFORM,
+ 			add_operation_node(&object->id, DEG_NODE_TYPE_TRANSFORM,
 -			                   function_bind(BKE_rigidbody_object_sync_transforms, _1, scene, object),
 +			                   function_bind(
 +			                           BKE_rigidbody_object_sync_transforms,
 +			                           _1,
 +			                           scene_cow,
- 			                           get_cow_datablock(ob)),
++			                           get_cow_datablock(object)),
  			                   DEG_OPCODE_RIGIDBODY_TRANSFORM_COPY);
  		}
  	}
@@@ -784,12 -665,8 +784,12 @@@ void DepsgraphNodeBuilder::build_partic
  
  	/* component for all particle systems */
  	ComponentDepsNode *psys_comp =
- 	        add_component_node(&ob->id, DEG_NODE_TYPE_EVAL_PARTICLES);
+ 	        add_component_node(&object->id, DEG_NODE_TYPE_EVAL_PARTICLES);
  
 +	/* TODO(sergey): Need to get COW of PSYS. */
 +	Scene *scene_cow = get_cow_datablock(scene_);
- 	Object *ob_cow = get_cow_datablock(ob);
++	Object *ob_cow = get_cow_datablock(object);
 +
  	add_operation_node(psys_comp,
  	                   function_bind(BKE_particle_system_eval_init,
  	                                 _1,
@@@ -798,24 -675,15 +798,24 @@@
  	                   DEG_OPCODE_PARTICLE_SYSTEM_EVAL_INIT);
  
  	/* particle systems */
- 	LINKLIST_FOREACH (ParticleSystem *, psys, &ob->particlesystem) {
+ 	LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesyste

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list