[Bf-blender-cvs] [9cfb72ff81a] blender2.8: Merge branch 'master' into blender2.8
Sergey Sharybin
noreply at git.blender.org
Tue Aug 22 16:31:57 CEST 2017
Commit: 9cfb72ff81a36c26f4b611ec733432968f15a2de
Author: Sergey Sharybin
Date: Tue Aug 22 16:31:33 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB9cfb72ff81a36c26f4b611ec733432968f15a2de
Merge branch 'master' into blender2.8
===================================================================
===================================================================
diff --cc source/blender/blenkernel/BKE_curve.h
index 1ebb092a939,a900ba43443..06bef637107
--- a/source/blender/blenkernel/BKE_curve.h
+++ b/source/blender/blenkernel/BKE_curve.h
@@@ -215,20 -213,9 +215,16 @@@ void BKE_nurb_handles_test(struct Nurb
/* **** Depsgraph evaluation **** */
-struct EvaluationContext;
-
-void BKE_curve_eval_geometry(struct EvaluationContext *eval_ctx,
- struct Curve *curve);
+void BKE_curve_eval_geometry(
+ const struct EvaluationContext *eval_ctx,
+ struct Curve *curve);
+
- void BKE_curve_eval_path(
- const struct EvaluationContext *eval_ctx,
- struct Curve *curve);
-
+/* Draw Cache */
+enum {
+ BKE_CURVE_BATCH_DIRTY_ALL = 0,
+ BKE_CURVE_BATCH_DIRTY_SELECT,
+};
+void BKE_curve_batch_cache_dirty(struct Curve *cu, int mode);
+void BKE_curve_batch_cache_free(struct Curve *cu);
#endif /* __BKE_CURVE_H__ */
diff --cc source/blender/blenkernel/intern/curve.c
index 351f443cbc9,795feb58bf6..88077c3bf4e
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@@ -4685,31 -4680,3 +4685,20 @@@ void BKE_curve_eval_geometry(const Eval
BKE_curve_texspace_calc(curve);
}
}
+
- void BKE_curve_eval_path(const EvaluationContext *UNUSED(eval_ctx),
- Curve *curve)
- {
- /* TODO(sergey): This will probably need to be a part of
- * the modifier stack still.
- */
- if (G.debug & G_DEBUG_DEPSGRAPH) {
- printf("%s on %s\n", __func__, curve->id.name);
- }
- }
-
+/* Draw Engine */
+void (*BKE_curve_batch_cache_dirty_cb)(Curve *cu, int mode) = NULL;
+void (*BKE_curve_batch_cache_free_cb)(Curve *cu) = NULL;
+
+void BKE_curve_batch_cache_dirty(Curve *cu, int mode)
+{
+ if (cu->batch_cache) {
+ BKE_curve_batch_cache_dirty_cb(cu, mode);
+ }
+}
+void BKE_curve_batch_cache_free(Curve *cu)
+{
+ if (cu->batch_cache) {
+ BKE_curve_batch_cache_free_cb(cu);
+ }
+}
diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index b8aeaac64a1,46ef4841639..659b7cefacb
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@@ -998,18 -847,7 +998,6 @@@ void DepsgraphNodeBuilder::build_obdata
DEG_OPCODE_PLACEHOLDER,
"Geometry Eval");
op_node->set_as_entry();
-
- /* Calculate curve path - this is used by constraints, etc. */
- if (ELEM(ob->type, OB_CURVE, OB_FONT)) {
- add_operation_node(obdata,
- DEG_NODE_TYPE_GEOMETRY,
- function_bind(BKE_curve_eval_path,
- _1,
- (Curve *)obdata_cow),
- DEG_OPCODE_GEOMETRY_PATH,
- "Path");
- }
--
/* Make sure objects used for bevel.taper are in the graph.
* NOTE: This objects might be not linked to the scene.
*/
diff --cc source/blender/depsgraph/intern/depsgraph_type_defines.cc
index 405c8e87339,05a144900f9..969cc21d2c1
--- a/source/blender/depsgraph/intern/depsgraph_type_defines.cc
+++ b/source/blender/depsgraph/intern/depsgraph_type_defines.cc
@@@ -109,16 -102,12 +109,15 @@@ 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);
- STRINGIFY_OPCODE(GEOMETRY_PATH);
+ /* Pose. */
STRINGIFY_OPCODE(POSE_INIT);
STRINGIFY_OPCODE(POSE_DONE);
STRINGIFY_OPCODE(POSE_IK_SOLVER);
diff --cc source/blender/depsgraph/intern/depsgraph_types.h
index ba776d5ebd5,6c0e3839b39..57a47c4084b
--- a/source/blender/depsgraph/intern/depsgraph_types.h
+++ b/source/blender/depsgraph/intern/depsgraph_types.h
@@@ -153,36 -146,44 +153,34 @@@ 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,
- /* Curve Objects - Path Calculation (used for path-following tools, */
- DEG_OPCODE_GEOMETRY_PATH,
- /* Pose -------------------------------------------- */
-
+ /* Pose. -------------------------------------------- */
/* Init IK Trees, etc. */
DEG_OPCODE_POSE_INIT,
-
/* Free IK Trees + Compute Deform Matrices */
DEG_OPCODE_POSE_DONE,
-
/* IK/Spline Solvers */
DEG_OPCODE_POSE_IK_SOLVER,
DEG_OPCODE_POSE_SPLINE_IK_SOLVER,
More information about the Bf-blender-cvs
mailing list