[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