[Bf-blender-cvs] [edd75f7e17e] fluid-mantaflow: Merge branch 'master' into fluid-mantaflow
Sebastián Barschkis
noreply at git.blender.org
Sat Feb 24 00:25:39 CET 2018
Commit: edd75f7e17e3d4e57b95b9c2bacfb8eaa21c5a44
Author: Sebastián Barschkis
Date: Fri Feb 23 23:39:20 2018 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBedd75f7e17e3d4e57b95b9c2bacfb8eaa21c5a44
Merge branch 'master' into fluid-mantaflow
===================================================================
===================================================================
diff --cc release/datafiles/locale
index 64dba5c3cd0,469c949d1ca..d3349b42856
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 64dba5c3cd055e710f01c911b22a4c2694196d7e
-Subproject commit 469c949d1ca882be19daa128842f813b72a944d8
++Subproject commit d3349b42856d00c278f72f2a5909a6c96b9cdb5e
diff --cc release/scripts/addons
index 0ec059ad19b,c88411ff777..31e5c6b980a
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@@ -1,1 -1,1 +1,1 @@@
- Subproject commit 0ec059ad19b88b1aaa2987b0e7355ad2dc91328b
-Subproject commit c88411ff7776a2db5d6ef6117a1b2faa42a95611
++Subproject commit 31e5c6b980a276850c0da11fab42403ab496a534
diff --cc source/blender/blenkernel/intern/smoke.c
index 0b25fa0123a,86e69e68c11..8e13479f80b
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@@ -824,12 -735,13 +824,15 @@@ typedef struct ObstaclesFromDMData
bool has_velocity;
float *vert_vel;
float *velocityX, *velocityY, *velocityZ;
- int *num_obstacles;
+ int *num_objects;
+ float *distances_map;
+ float surface_thickness;
} ObstaclesFromDMData;
- static void obstacles_from_derivedmesh_task_cb(void *userdata, const int z)
+ static void obstacles_from_derivedmesh_task_cb(
+ void *__restrict userdata,
+ const int z,
+ const ParallelRangeTLS *__restrict UNUSED(tls))
{
ObstaclesFromDMData *data = userdata;
SmokeDomainSettings *sds = data->sds;
@@@ -959,12 -866,18 +962,17 @@@ static void obstacles_from_derivedmesh
if (bvhtree_from_mesh_looptri(&treeData, dm, 0.0f, 4, 6)) {
ObstaclesFromDMData data = {
.sds = sds, .mvert = mvert, .mloop = mloop, .looptri = looptri,
- .tree = &treeData, .obstacle_map = obstacle_map,
- .has_velocity = has_velocity, .vert_vel = vert_vel,
+ .tree = &treeData, .has_velocity = has_velocity, .vert_vel = vert_vel,
.velocityX = velocityX, .velocityY = velocityY, .velocityZ = velocityZ,
- .num_obstacles = num_obstacles
+ .num_objects = num_objects, .distances_map = distances_map, .surface_thickness = scs->surface_distance
};
- BLI_task_parallel_range(
- sds->res_min[2], sds->res_max[2], &data, obstacles_from_derivedmesh_task_cb, true);
+ ParallelRangeSettings settings;
+ BLI_parallel_range_settings_defaults(&settings);
+ settings.scheduling_mode = TASK_SCHEDULING_DYNAMIC;
+ BLI_task_parallel_range(sds->res_min[2], sds->res_max[2],
+ &data,
+ obstacles_from_derivedmesh_task_cb,
+ &settings);
}
/* free bvh tree */
free_bvhtree_from_mesh(&treeData);
@@@ -2816,11 -2461,13 +2844,14 @@@ typedef struct UpdateEffectorsData
float *velocity_x;
float *velocity_y;
float *velocity_z;
- unsigned char *obstacle;
+ int *flags;
+ float *phiObsIn;
} UpdateEffectorsData;
- static void update_effectors_task_cb(void *userdata, const int x)
+ static void update_effectors_task_cb(
+ void *__restrict userdata,
+ const int x,
+ const ParallelRangeTLS *__restrict UNUSED(tls))
{
UpdateEffectorsData *data = userdata;
SmokeDomainSettings *sds = data->sds;
@@@ -2895,10 -2539,15 +2926,16 @@@ static void update_effectors(Scene *sce
data.velocity_x = smoke_get_velocity_x(sds->fluid);
data.velocity_y = smoke_get_velocity_y(sds->fluid);
data.velocity_z = smoke_get_velocity_z(sds->fluid);
- data.obstacle = smoke_get_obstacle(sds->fluid);
+ data.flags = smoke_get_obstacle(sds->fluid);
+ data.phiObsIn = liquid_get_phiobsin(sds->fluid);
- BLI_task_parallel_range(0, sds->res[0], &data, update_effectors_task_cb, true);
+ ParallelRangeSettings settings;
+ BLI_parallel_range_settings_defaults(&settings);
+ settings.scheduling_mode = TASK_SCHEDULING_DYNAMIC;
+ BLI_task_parallel_range(0, sds->res[0],
+ &data,
+ update_effectors_task_cb,
+ &settings);
}
pdEndEffectors(&effectors);
diff --cc source/blender/editors/space_view3d/drawvolume.c
index bed1f9cf8cf,cf118404183..8f1757d5d9e
--- a/source/blender/editors/space_view3d/drawvolume.c
+++ b/source/blender/editors/space_view3d/drawvolume.c
@@@ -41,12 -41,10 +41,12 @@@
#include "BLI_math.h"
#include "BKE_DerivedMesh.h"
- #include "BKE_texture.h"
+ #include "BKE_colorband.h"
#include "BKE_particle.h"
-#include "smoke_API.h"
+#ifdef WITH_MANTA
+# include "manta_fluid_API.h"
+#endif
#include "BIF_gl.h"
diff --cc source/blender/makesdna/DNA_smoke_types.h
index e313491d22b,9932e16e988..d64d92cf37f
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@@ -212,15 -184,12 +212,15 @@@ typedef struct SmokeDomainSettings
int cache_high_comp;
/* OpenVDB cache options */
int openvdb_comp;
- char cache_file_format;
+ char cache_surface_format;
+ char cache_volume_format;
char data_depth;
- char pad[2];
+ char pad[1]; /* unused */
+ /* Liquid cache options */
+ int liquid_cache_comp;
/* Smoke uses only one cache from now on (index [0]), but keeping the array for now for reading old files. */
- struct PointCache *point_cache[2]; /* definition is in DNA_object_force.h */
+ struct PointCache *point_cache[2]; /* definition is in DNA_object_force_types.h */
struct ListBase ptcaches[2];
struct EffectorWeights *effector_weights;
int border_collisions; /* How domain border collisions are handled */
diff --cc source/blender/makesrna/intern/rna_smoke.c
index 4837ebbca49,1db64100d94..297f9cc202c
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@@ -40,10 -40,9 +40,10 @@@
#include "BKE_modifier.h"
#include "BKE_smoke.h"
#include "BKE_pointcache.h"
+#include "BKE_object.h"
#include "DNA_modifier_types.h"
- #include "DNA_object_force.h"
+ #include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
@@@ -56,11 -56,9 +57,10 @@@
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_particle.h"
- #include "BKE_texture.h"
-#include "smoke_API.h"
-
+#ifdef WITH_MANTA
+# include "manta_fluid_API.h"
+#endif
static void rna_Smoke_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
diff --cc source/blender/modifiers/intern/MOD_smoke.c
index 31de6029106,2073e23b7b2..f4823717754
--- a/source/blender/modifiers/intern/MOD_smoke.c
+++ b/source/blender/modifiers/intern/MOD_smoke.c
@@@ -127,13 -127,10 +127,10 @@@ static bool is_flow_cb(Object *UNUSED(o
static bool is_coll_cb(Object *UNUSED(ob), ModifierData *md)
{
SmokeModifierData *smd = (SmokeModifierData *) md;
- return (smd->type & MOD_SMOKE_TYPE_COLL) && smd->coll;
+ return (smd->type & MOD_SMOKE_TYPE_EFFEC) && smd->effec;
}
- static void updateDepgraph(ModifierData *md, DagForest *forest,
- struct Main *UNUSED(bmain),
- struct Scene *scene, struct Object *ob,
- DagNode *obNode)
+ static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
SmokeModifierData *smd = (SmokeModifierData *) md;
More information about the Bf-blender-cvs
mailing list