Commit: bce4ca54c58867fff5d371f514764d781bc7bbc6
Author: Sebastián Barschkis
Date: Thu Mar 24 14:59:59 2016 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBbce4ca54c58867fff5d371f514764d781bc7bbc6
crash fixes when loading a new script and some better default parameters
===================================================================
M intern/mantaflow/intern/MANTA.cpp
M source/blender/blenkernel/intern/smoke.c
===================================================================
diff --git a/intern/mantaflow/intern/MANTA.cpp
b/intern/mantaflow/intern/MANTA.cpp
index 4ae611c..91a35b0 100644
--- a/intern/mantaflow/intern/MANTA.cpp
+++ b/intern/mantaflow/intern/MANTA.cpp
@@ -48,6 +48,7 @@ MANTA::MANTA(int *res, SmokeModifierData *smd)
{
std::cout << "MANTA" << std::endl;
smd->domain->fluid = this;
+ smd->domain->manta_solver_res = 3; // Why do we need to set this
explicitly? When not set, fluidsolver throws exception (occurs when loading a
new .blend file)
// General variables used for low and high res
std::string tmpScript = "";
diff --git a/source/blender/blenkernel/intern/smoke.c
b/source/blender/blenkernel/intern/smoke.c
index 219d97b..932abcb 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -562,13 +562,13 @@ void smokeModifier_createType(struct SmokeModifierData
*smd)
smd->domain->maxres = 32;
smd->domain->amplify = 1;
smd->domain->alpha = -0.001;
- smd->domain->beta = 0.1;
+ smd->domain->beta = 0.3;
smd->domain->time_scale = 1.0;
smd->domain->vorticity = 0.2;
smd->domain->border_collisions = SM_BORDER_OPEN; //
open domain
smd->domain->flags = MOD_SMOKE_DISSOLVE_LOG;
smd->domain->highres_sampling = SM_HRES_FULLSAMPLE;
- smd->domain->strength = 2.0;
+ smd->domain->strength = 1.0;
smd->domain->noise = MOD_SMOKE_NOISEWAVE;
smd->domain->diss_speed = 5;
smd->domain->active_fields = 0;
@@ -592,7 +592,7 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
/*mantaflow settings*/
smd->domain->manta_solver_res = 3;
- smd->domain->noise_pos_scale = 0.5f;
+ smd->domain->noise_pos_scale = 2.0f;
smd->domain->noise_time_anim = 0.1f;
BLI_make_file_string("/", smd->domain->manta_filepath,
BKE_tempdir_base(), "manta_scene.py");
}
@@ -681,6 +681,13 @@ void smokeModifier_copy(struct SmokeModifierData *smd,
struct SmokeModifierData
tsmd->domain->flame_vorticity = smd->domain->flame_vorticity;
tsmd->domain->flame_ignition = smd->domain->flame_ignition;
tsmd->domain->flame_max_temp = smd->domain->flame_max_temp;
+
+#ifdef WITH_MANTA
+ tsmd->domain->manta_solver_res = smd->domain->manta_solver_res;
+ tsmd->domain->noise_pos_scale = smd->domain->noise_pos_scale;
+ tsmd->domain->noise_time_anim = smd->domain->noise_time_anim;
+#endif
+
copy_v3_v3(tsmd->domain->flame_smoke_color,
smd->domain->flame_smoke_color);
MEM_freeN(tsmd->domain->effector_weights);
@@ -2706,10 +2713,11 @@ static void step(Scene *scene, Object *ob,
SmokeModifierData *smd, DerivedMesh *
update_obstacles(scene, ob, sds, dtSubdiv, substep,
totalSubsteps);
if (sds->total_cells > 1) {
- update_effectors(scene, ob, sds, dtSubdiv); // DG TODO?
problem --> uses forces instead of velocity, need to check how they need to be
changed with variable dt
#ifndef WITH_MANTA
+ update_effectors(scene, ob, sds, dtSubdiv); // DG TODO?
problem --> uses forces instead of velocity, need to check how they need to be
changed with variable dt
smoke_step(sds->fluid, gravity, dtSubdiv);
#else
+// update_effectors(scene, ob, sds, dtSubdiv); // TODO
(sebbas)
smoke_step(sds->fluid, smd);
#endif
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs