[Bf-blender-cvs] [98ba302f705] blender2.8: Merge branch 'master' into blender2.8

Sergey Sharybin noreply at git.blender.org
Mon Sep 25 15:58:00 CEST 2017


Commit: 98ba302f7053b9bebc3854d0d05bdcaa55b6afc7
Author: Sergey Sharybin
Date:   Mon Sep 25 18:56:34 2017 +0500
Branches: blender2.8
https://developer.blender.org/rB98ba302f7053b9bebc3854d0d05bdcaa55b6afc7

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/blenkernel/BKE_armature.h
index 453a6432d83,60fb79d75d5..192690c074c
--- a/source/blender/blenkernel/BKE_armature.h
+++ b/source/blender/blenkernel/BKE_armature.h
@@@ -174,7 -172,12 +174,12 @@@ void BKE_pose_eval_init(const struct Ev
                          struct Object *ob,
                          struct bPose *pose);
  
 -void BKE_pose_eval_init_ik(struct EvaluationContext *eval_ctx,
++void BKE_pose_eval_init_ik(const struct EvaluationContext *eval_ctx,
+                            struct Scene *scene,
+                            struct Object *ob,
+                            struct bPose *pose);
+ 
 -void BKE_pose_eval_bone(struct EvaluationContext *eval_ctx,
 +void BKE_pose_eval_bone(const struct EvaluationContext *eval_ctx,
                          struct Scene *scene,
                          struct Object *ob,
                          struct bPoseChannel *pchan);
diff --cc source/blender/blenkernel/BKE_scene.h
index d0c913d7235,481aff3cfa6..2c44179c735
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@@ -43,14 -42,9 +43,12 @@@ struct Depsgraph
  struct EvaluationContext;
  struct Main;
  struct Object;
- struct Base;
- struct QuicktimeCodecData;
  struct RenderData;
 +struct SceneLayer;
  struct SceneRenderLayer;
  struct Scene;
 +struct SceneCollection;
 +struct SceneLayer;
  struct UnitSettings;
  struct Main;
  
@@@ -71,9 -63,7 +69,8 @@@ typedef enum eSceneCopyMethod 
  struct Base *_setlooper_base_step(struct Scene **sce_iter, struct Base *base);
  
  void free_avicodecdata(struct AviCodecData *acd);
- void free_qtcodecdata(struct QuicktimeCodecData *acd);
  
 +void BKE_scene_free_ex(struct Scene *sce, const bool do_id_user);
  void BKE_scene_free(struct Scene *sce);
  void BKE_scene_init(struct Scene *sce);
  struct Scene *BKE_scene_add(struct Main *bmain, const char *name);
diff --cc source/blender/blenkernel/intern/armature_update.c
index 0bd4d3b864f,45d1d36aeca..1addbcbadc0
--- a/source/blender/blenkernel/intern/armature_update.c
+++ b/source/blender/blenkernel/intern/armature_update.c
@@@ -559,8 -558,8 +559,8 @@@ void BKE_splineik_execute_tree
  
  /* *************** Depsgraph evaluation callbacks ************ */
  
- void BKE_pose_eval_init(const struct EvaluationContext *eval_ctx,
-                         Scene *scene,
 -void BKE_pose_eval_init(EvaluationContext *UNUSED(eval_ctx),
++void BKE_pose_eval_init(const struct EvaluationContext *UNUSED(eval_ctx),
+                         Scene *UNUSED(scene),
                          Object *ob,
                          bPose *pose)
  {
@@@ -582,9 -580,19 +581,19 @@@
  	for (pchan = pose->chanbase.first; pchan != NULL; pchan = pchan->next) {
  		pchan->flag &= ~(POSE_DONE | POSE_CHAIN | POSE_IKTREE | POSE_IKSPLINE);
  	}
+ }
+ 
 -void BKE_pose_eval_init_ik(EvaluationContext *UNUSED(eval_ctx),
++void BKE_pose_eval_init_ik(const struct EvaluationContext *eval_ctx,
+                            Scene *scene,
+                            Object *ob,
+                            bPose *UNUSED(pose))
+ {
+ 	float ctime = BKE_scene_frame_get(scene); /* not accurate... */
+ 
+ 	DEBUG_PRINT("%s on %s\n", __func__, ob->id.name);
  
  	/* 2a. construct the IK tree (standard IK) */
 -	BIK_initialize_tree(scene, ob, ctime);
 +	BIK_initialize_tree(eval_ctx, scene, ob, ctime);
  
  	/* 2b. construct the Spline IK trees
  	 *  - this is not integrated as an IK plugin, since it should be able
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
index f283377d7bb,ceb2fd25f94..d610dc51080
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
@@@ -222,13 -180,14 +222,22 @@@ void DepsgraphNodeBuilder::build_rig(Sc
  	                             DEG_OPCODE_POSE_INIT);
  	op_node->set_as_entry();
  
 -	op_node = add_operation_node(&ob->id,
 +	op_node = add_operation_node(&object->id,
  	                             DEG_NODE_TYPE_EVAL_POSE,
 -	                             function_bind(BKE_pose_eval_init_ik, _1, scene, ob, ob->pose),
++	                             function_bind(BKE_pose_eval_init_ik,
++	                                           _1,
++	                                           scene_cow,
++	                                           object_cow,
++	                                           object_cow->pose),
+ 	                             DEG_OPCODE_POSE_INIT_IK);
+ 
 -	op_node = add_operation_node(&ob->id,
++	op_node = add_operation_node(&object->id,
+ 	                             DEG_NODE_TYPE_EVAL_POSE,
 -	                             function_bind(BKE_pose_eval_flush, _1, scene, ob, ob->pose),
 +	                             function_bind(BKE_pose_eval_flush,
 +	                                           _1,
 +	                                           scene_cow,
 +	                                           object_cow,
 +	                                           object_cow->pose),
  	                             DEG_OPCODE_POSE_DONE);
  	op_node->set_as_exit();
  
diff --cc source/blender/depsgraph/intern/depsgraph_type_defines.cc
index 0c9ab8da910,e177c8c8ec0..0d42acf382a
--- a/source/blender/depsgraph/intern/depsgraph_type_defines.cc
+++ b/source/blender/depsgraph/intern/depsgraph_type_defines.cc
@@@ -109,16 -102,14 +109,17 @@@ static const char *stringify_opcode(eDe
  		STRINGIFY_OPCODE(TRANSFORM_LOCAL);
  		STRINGIFY_OPCODE(TRANSFORM_PARENT);
  		STRINGIFY_OPCODE(TRANSFORM_CONSTRAINTS);
 +		STRINGIFY_OPCODE(TRANSFORM_FINAL);
 +		STRINGIFY_OPCODE(TRANSFORM_OBJECT_UBEREVAL);
 +		/* Rigid body. */
  		STRINGIFY_OPCODE(RIGIDBODY_REBUILD);
  		STRINGIFY_OPCODE(RIGIDBODY_SIM);
 -		STRINGIFY_OPCODE(TRANSFORM_RIGIDBODY);
 -		STRINGIFY_OPCODE(TRANSFORM_FINAL);
 -		STRINGIFY_OPCODE(OBJECT_UBEREVAL);
 +		STRINGIFY_OPCODE(RIGIDBODY_TRANSFORM_COPY);
 +		/* Geometry. */
  		STRINGIFY_OPCODE(GEOMETRY_UBEREVAL);
 +		/* Pose. */
  		STRINGIFY_OPCODE(POSE_INIT);
+ 		STRINGIFY_OPCODE(POSE_INIT_IK);
  		STRINGIFY_OPCODE(POSE_DONE);
  		STRINGIFY_OPCODE(POSE_IK_SOLVER);
  		STRINGIFY_OPCODE(POSE_SPLINE_IK_SOLVER);
diff --cc source/blender/depsgraph/intern/depsgraph_types.h
index 0dd7e85476c,ef7b32a8d83..abdedd8adb6
--- a/source/blender/depsgraph/intern/depsgraph_types.h
+++ b/source/blender/depsgraph/intern/depsgraph_types.h
@@@ -154,34 -146,47 +154,36 @@@ typedef enum eDepsOperation_Code 
  	/* Driver */
  	DEG_OPCODE_DRIVER,
  
 -	/* Transform --------------------------------------- */
 -
 +	/* Transform. -------------------------------------- */
  	/* Transform entry point - local transforms only */
  	DEG_OPCODE_TRANSFORM_LOCAL,
 -
  	/* Parenting */
  	DEG_OPCODE_TRANSFORM_PARENT,
 -
  	/* Constraints */
  	DEG_OPCODE_TRANSFORM_CONSTRAINTS,
 +	/* Transform exit point */
 +	DEG_OPCODE_TRANSFORM_FINAL,
 +	/* Handle object-level updates, mainly proxies hacks and recalc flags.  */
 +	DEG_OPCODE_TRANSFORM_OBJECT_UBEREVAL,
  
 -	/* Rigidbody Sim - Perform Sim */
 +	/* Rigid body. -------------------------------------- */
 +	/* Perform Simulation */
  	DEG_OPCODE_RIGIDBODY_REBUILD,
  	DEG_OPCODE_RIGIDBODY_SIM,
 +	/* Copy results to object */
 +	DEG_OPCODE_RIGIDBODY_TRANSFORM_COPY,
  
 -	/* Rigidbody Sim - Copy Results to Object */
 -	DEG_OPCODE_TRANSFORM_RIGIDBODY,
 -
 -	/* Transform exitpoint */
 -	DEG_OPCODE_TRANSFORM_FINAL,
 -
 -	/* XXX: ubereval is for temporary porting purposes only */
 -	DEG_OPCODE_OBJECT_UBEREVAL,
 -
 -	/* Geometry ---------------------------------------- */
 -
 -	/* XXX: Placeholder - UberEval */
 +	/* Geometry. ---------------------------------------- */
 +	/* Evaluate the whole geometry, including modifiers. */
  	DEG_OPCODE_GEOMETRY_UBEREVAL,
  
 -	/* Pose -------------------------------------------- */
 -
 +	/* Pose. -------------------------------------------- */
- 	/* Init IK Trees, etc. */
+ 	/* Init pose, clear flags, etc. */
  	DEG_OPCODE_POSE_INIT,
 -
+ 	/* Initialize IK solver related pose stuff. */
+ 	DEG_OPCODE_POSE_INIT_IK,
 -
  	/* Free IK Trees + Compute Deform Matrices */
  	DEG_OPCODE_POSE_DONE,
 -
  	/* IK/Spline Solvers */
  	DEG_OPCODE_POSE_IK_SOLVER,
  	DEG_OPCODE_POSE_SPLINE_IK_SOLVER,
diff --cc source/blender/render/intern/source/initrender.c
index 4ac44671871,fbf18405093..731a5ec4e22
--- a/source/blender/render/intern/source/initrender.c
+++ b/source/blender/render/intern/source/initrender.c
@@@ -48,12 -48,6 +48,8 @@@
  
  #include "BKE_camera.h"
  
 +#include "DEG_depsgraph.h"
 +
- #ifdef WITH_QUICKTIME
- #include "quicktime_export.h"
- #endif
- 
  /* this module */
  #include "renderpipeline.h"
  #include "render_types.h"



More information about the Bf-blender-cvs mailing list