Commit: d8aaed17eb889c7acab08c89a8efd42fb5f9716d
Author: Lukas Tönne
Date:   Fri May 27 16:01:49 2016 +0200
Branches: object_nodes
https://developer.blender.org/rBd8aaed17eb889c7acab08c89a8efd42fb5f9716d

Merge branch 'master' into object_nodes

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



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

diff --cc source/blender/blenkernel/intern/dynamicpaint.c
index ff03682,2d531e3..1df4eff
--- a/source/blender/blenkernel/intern/dynamicpaint.c
+++ b/source/blender/blenkernel/intern/dynamicpaint.c
@@@ -4114,10 -4532,81 +4532,80 @@@ static void dynamicPaint_doSmudge(Dynam
        }
  }
  
+ typedef struct DynamicPaintEffectData {
+       const DynamicPaintSurface *surface;
+       Scene *scene;
+ 
+       float *force;
 -      ListBase *effectors;
++      EffectorContext *effectors;
+       const void *prevPoint;
+       const float eff_scale;
+ 
+       uint8_t *point_locks;
+ 
+       const float wave_speed;
+       const float wave_scale;
+       const float wave_max_slope;
+ 
+       const float dt;
+       const float min_dist;
+       const float damp_factor;
+       const bool reset_wave;
+ } DynamicPaintEffectData;
+ 
  /*
   *    Prepare data required by effects for current frame.
   *    Returns number of steps required
   */
+ static void dynamic_paint_prepare_effect_cb(void *userdata, const int index)
+ {
+       const DynamicPaintEffectData *data = userdata;
+ 
+       const DynamicPaintSurface *surface = data->surface;
+       const PaintSurfaceData *sData = surface->data;
+       const PaintBakeData *bData = sData->bData;
+       Vec3f *realCoord = bData->realCoord;
+ 
+       Scene *scene = data->scene;
 -
++      EffectorContext *effectors = data->effectors;
+       float *force = data->force;
 -      ListBase *effectors = data->effectors;
+ 
+       float forc[3] = {0};
+       float vel[3] = {0};
+ 
+       /* apply force fields */
+       if (effectors) {
+               EffectedPoint epoint;
+               pd_point_from_loc(scene, realCoord[bData->s_pos[index]].v, vel, 
index, &epoint);
+               epoint.vel_to_sec = 1.0f;
+               pdDoEffectors(effectors, NULL, surface->effector_weights, 
&epoint, forc, NULL);
+       }
+ 
+       /* if global gravity is enabled, add it too */
+       if (scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY)
+               /* also divide by 10 to about match default grav
+                *  with default force strength (1.0) */
+               madd_v3_v3fl(forc, scene->physics_settings.gravity,
+                            surface->effector_weights->global_gravity * 
surface->effector_weights->weight[0] / 10.f);
+ 
+       /* add surface point velocity and acceleration if enabled */
+       if (bData->velocity) {
+               if (surface->drip_vel)
+                       madd_v3_v3fl(forc, bData->velocity[index].v, 
surface->drip_vel * (-1.0f));
+ 
+               /* acceleration */
+               if (bData->prev_velocity && surface->drip_acc) {
+                       float acc[3];
+                       copy_v3_v3(acc, bData->velocity[index].v);
+                       sub_v3_v3(acc, bData->prev_velocity[index].v);
+                       madd_v3_v3fl(forc, acc, surface->drip_acc * (-1.0f));
+               }
+       }
+ 
+       /* force strength, and normalize force vec */
+       force[index * 4 + 3] = normalize_v3_v3(&force[index * 4], forc);
+ }
+ 
  static int dynamicPaint_prepareEffectStep(
          DynamicPaintSurface *surface, Scene *scene, Object *ob, float 
**force, float timescale)
  {
@@@ -4130,12 -4619,7 +4618,7 @@@
  
        /* Init force data if required */
        if (surface->effect & MOD_DPAINT_EFFECT_DO_DRIP) {
-               float vel[3] = {0};
-               EffectorContext *effectors;
- 
-               effectors = pdInitEffectors(scene, ob, NULL, 
surface->effector_weights, true);
 -              ListBase *effectors = pdInitEffectors(scene, ob, NULL, 
surface->effector_weights, true);
++              EffectorContext *effectors = pdInitEffectors(scene, ob, NULL, 
surface->effector_weights, true);
  
                /* allocate memory for force data (dir vector + strength) */
                *force = MEM_mallocN(sData->total_points * 4 * sizeof(float), 
"PaintEffectForces");
diff --cc source/blender/depsgraph/intern/depsgraph_eval.cc
index 4a64542,e584e8a..e8b5e98
--- a/source/blender/depsgraph/intern/depsgraph_eval.cc
+++ b/source/blender/depsgraph/intern/depsgraph_eval.cc
@@@ -51,9 -51,10 +51,10 @@@ extern "C" 
  #include "depsnode_component.h"
  #include "depsnode_operation.h"
  #include "depsgraph_debug.h"
+ #include "depsgraph_util_foreach.h"
  
  #ifdef WITH_LEGACY_DEPSGRAPH
 -static bool use_legacy_depsgraph = true;
 +static bool use_legacy_depsgraph = false;
  #endif
  
  /* Unfinished and unused, and takes quite some pre-processing time. */
diff --cc source/blenderplayer/CMakeLists.txt
index 2e33eb7,6f32d50..0a0a500
--- a/source/blenderplayer/CMakeLists.txt
+++ b/source/blenderplayer/CMakeLists.txt
@@@ -111,10 -111,6 +111,9 @@@ endif(
                ge_player_common 
                bf_intern_string 
                bf_intern_ghost
-               bf_intern_ghostndof3dconnexion
 +              bf_blenvm
 +              bf_blenvm_bvm
 +              bf_blenvm_compile
                bf_rna
                bf_blenkernel
                bf_depsgraph

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to