Commit: e8c34986ed024e0f04050744f0f46d8fe2db23d2
Author: Sebastián Barschkis
Date:   Thu Jan 14 13:55:11 2016 +0100
Branches: fluid-mantaflow
https://developer.blender.org/rBe8c34986ed024e0f04050744f0f46d8fe2db23d2

better noise integration - especially wavelet noise

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

M       intern/smoke/intern/MANTA.cpp
M       intern/smoke/intern/scenarios/smoke.h
M       release/scripts/startup/bl_ui/properties_physics_smoke.py
M       source/blender/blenkernel/intern/smoke.c
M       source/blender/makesdna/DNA_smoke_types.h
M       source/blender/makesrna/intern/rna_smoke.c

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

diff --git a/intern/smoke/intern/MANTA.cpp b/intern/smoke/intern/MANTA.cpp
index 5984f1a..0169bd9 100644
--- a/intern/smoke/intern/MANTA.cpp
+++ b/intern/smoke/intern/MANTA.cpp
@@ -427,9 +427,9 @@ std::string Manta_API::get_real_value( const std::string& 
varName, SmokeModifier
        else if (varName == "WLT_STR")
                ss << smd->domain->strength ;
        else if (varName == "RES")
-               ss <<  smd->domain->maxres;
+               ss << smd->domain->maxres;
        else if (varName == "RESX")
-               ss <<  smd->domain->fluid->_xRes;
+               ss << smd->domain->fluid->_xRes;
        else if (varName == "RESY")
                if (is2D) {     ss <<  smd->domain->fluid->_zRes;}
                else {          ss <<  smd->domain->fluid->_yRes;}
@@ -438,12 +438,14 @@ std::string Manta_API::get_real_value( const std::string& 
varName, SmokeModifier
                else {          ss << smd->domain->fluid->_zRes;}
        else if (varName == "SOLVER_DIM")
                ss <<  smd->domain->manta_solver_res;
+       else if (varName == "USE_NOISE_CLAMP")
+               ss << ((smd->domain->flags & MOD_SMOKE_NOISE_CLAMP) ? "True" : 
"False");
        else if (varName == "NOISE_CN")
-               ss <<  smd->domain->noise_clamp_neg;
+               ss << smd->domain->noise_clamp_neg;
        else if (varName == "NOISE_CP")
-               ss <<  smd->domain->noise_clamp_pos;
+               ss << smd->domain->noise_clamp_pos;
        else if (varName == "NOISE_VALSCALE")
-               ss <<  smd->domain->noise_val_scale;
+               ss << smd->domain->noise_val_scale;
        else if (varName == "NOISE_VALOFFSET")
                ss << smd->domain->noise_val_offset;
        else if (varName == "NOISE_TIMEANIM")
diff --git a/intern/smoke/intern/scenarios/smoke.h 
b/intern/smoke/intern/scenarios/smoke.h
index edc97ae..13a95d9 100644
--- a/intern/smoke/intern/scenarios/smoke.h
+++ b/intern/smoke/intern/scenarios/smoke.h
@@ -61,7 +61,7 @@ const string noise_low = "\n\
 # noise field low\n\
 noise = s.create(NoiseField, loadFromFile=True)\n\
 noise.posScale = vec3(45)\n\
-noise.clamp = True\n\
+noise.clamp = $USE_NOISE_CLAMP$\n\
 noise.clampNeg = $NOISE_CN$\n\
 noise.clampPos = $NOISE_CP$\n\
 noise.valScale = $NOISE_VALSCALE$\n\
@@ -105,7 +105,7 @@ const string noise_high = "\n\
 # noise field high\n\
 xl_noise = xl.create(NoiseField, fixedSeed=256, loadFromFile=True)\n\
 xl_noise.posScale = vec3(20)\n\
-xl_noise.clamp = False\n\
+xl_noise.clamp = $USE_NOISE_CLAMP$\n\
 xl_noise.clampNeg = $NOISE_CN$\n\
 xl_noise.clampPos = $NOISE_CP$\n\
 xl_noise.valScale = $NOISE_VALSCALE$\n\
@@ -121,9 +121,16 @@ const string wavelet_turbulence_noise = "\n\
 # wavelet turbulence noise field\n\
 xl_wltnoise = s.create(NoiseField, loadFromFile=True)\n\
 xl_wltnoise.posScale = vec3(int(1.0*gs.x)) * 0.5\n\
-xl_wltnoise.timeAnim = 0.1\n\
+xl_wltnoise.clamp = $USE_NOISE_CLAMP$\n\
+xl_wltnoise.clampNeg = $NOISE_CN$\n\
+xl_wltnoise.clampPos = $NOISE_CP$\n\
+xl_wltnoise.valScale = $NOISE_VALSCALE$\n\
+xl_wltnoise.valOffset = $NOISE_VALOFFSET$\n\
+xl_wltnoise.timeAnim = $NOISE_TIMEANIM$\n\
 if(upres>0):\n\
-  xl_wltnoise.posScale = xl_wltnoise.posScale * (1./upres)\n";
+  xl_wltnoise.posScale = xl_wltnoise.posScale * (1./upres)\n\
+  xl_wltnoise.timeAnim = xl_wltnoise.timeAnim * upres\n";
+
 
 //////////////////////////////////////////////////////////////////////
 // ADDITIONAL GRIDS
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py 
b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index b00165f..ee3f52b 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -456,13 +456,16 @@ class PHYSICS_PT_smoke_manta_settings(PhysicButtonsPanel, 
Panel):
         split = layout.split()
         col = split.column()
         col.label("Noise Settings")
-        col.prop(domain, "noise_clamp_neg", text="Clamp Neg")
-        col.prop(domain, "noise_clamp_pos", text="Clamp Pos")
-        col.prop(domain, "noise_time_anim", text="Time Anim")
+        col.prop(domain, "noise_clamp", text="Clamp")
+        sub = col.column()
+        sub.active = domain.noise_clamp
+        sub.prop(domain, "noise_clamp_neg", text="Clamp Neg")
+        sub.prop(domain, "noise_clamp_pos", text="Clamp Pos")
         col = split.column()
         col.label("")
         col.prop(domain, "noise_val_scale", text="Scale")
         col.prop(domain, "noise_val_offset", text="Offset")
+        col.prop(domain, "noise_time_anim", text="Time Anim")
 
 if __name__ == "__main__":  # only for live edit.
     bpy.utils.register_module(__name__)
diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index 404c7b6..49d9d84 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -583,14 +583,15 @@ void smokeModifier_createType(struct SmokeModifierData 
*smd)
                        
                        /*mantaflow settings*/
                        smd->domain->manta_solver_res = 3;
-                       smd->domain->manta_sim_frame = -1;
+//                     smd->domain->manta_sim_frame = -1;
                        smd->domain->manta_start_frame = 1;
                        smd->domain->manta_end_frame = 10;
                        smd->domain->noise_clamp_neg = 0;
                        smd->domain->noise_clamp_pos = 1;
-                       smd->domain->noise_val_scale = 0.;
-                       smd->domain->noise_val_offset = 0.075;
-                       smd->domain->noise_time_anim = 0.2;
+                       smd->domain->noise_val_scale = 1.;
+                       smd->domain->noise_val_offset = 0.;
+                       smd->domain->noise_time_anim = 0.;
+                       smd->domain->noise_clamp = 1;
                        BLI_make_file_string("/", smd->domain->_manta_filepath, 
BKE_tempdir_base(), "manta_scene.py");
                }
                else if (smd->type & MOD_SMOKE_TYPE_FLOW)
diff --git a/source/blender/makesdna/DNA_smoke_types.h 
b/source/blender/makesdna/DNA_smoke_types.h
index 82fd6f8..f372802 100644
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@ -172,7 +172,8 @@ typedef struct SmokeDomainSettings {
        float noise_val_scale;
        float noise_val_offset;
        float noise_time_anim;
-       int manta_sim_frame;/*current simulation frame number. If not 
simulating-> manta_sim_frame == -1*/
+       int noise_clamp;
+       //int manta_sim_frame;/*current simulation frame number. If not 
simulating-> manta_sim_frame == -1*/
        float mock_var; /*not used*/
 //     float mock_var2;        /*not used*/
 } SmokeDomainSettings;
diff --git a/source/blender/makesrna/intern/rna_smoke.c 
b/source/blender/makesrna/intern/rna_smoke.c
index fe63f17..a251344 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -634,10 +634,10 @@ static void rna_def_smoke_domain_settings(BlenderRNA 
*brna)
                                 "Directory/name to save Mantaflow scene for 
further simulations");
 //     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_manta_write_settings");
        
-       prop = RNA_def_property(srna, "use_manta_liquid", PROP_BOOLEAN, 
PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flags", 
MOD_SMOKE_MANTA_USE_LIQUID);
-       RNA_def_property_ui_text(prop, "MantaFlow Liquid", "Use Mantaflow 
liquid");
-       RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_reset");
+//     prop = RNA_def_property(srna, "use_manta_liquid", PROP_BOOLEAN, 
PROP_NONE);
+//     RNA_def_property_boolean_sdna(prop, NULL, "flags", 
MOD_SMOKE_MANTA_USE_LIQUID);
+//     RNA_def_property_ui_text(prop, "MantaFlow Liquid", "Use Mantaflow 
liquid");
+//     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_reset");
        
        prop = RNA_def_property(srna, "manta_solver_res", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "manta_solver_res");
@@ -646,11 +646,11 @@ static void rna_def_smoke_domain_settings(BlenderRNA 
*brna)
        RNA_def_property_ui_text(prop, "Solver Res", "Solver 
resolution(2D/3D)");
        RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_manta_switch2D");
 
-       prop = RNA_def_property(srna, "manta_sim_frame", PROP_INT, PROP_NONE);
-       RNA_def_property_int_sdna(prop, NULL, "manta_sim_frame");
-       RNA_def_property_range(prop, -1, 250);
-       RNA_def_property_ui_range(prop, -1, 250, 1, -1);
-       RNA_def_property_ui_text(prop, "Current Simulation Frame", "-1, if not 
simulating");
+//     prop = RNA_def_property(srna, "manta_sim_frame", PROP_INT, PROP_NONE);
+//     RNA_def_property_int_sdna(prop, NULL, "manta_sim_frame");
+//     RNA_def_property_range(prop, -1, 250);
+//     RNA_def_property_ui_range(prop, -1, 250, 1, -1);
+//     RNA_def_property_ui_text(prop, "Current Simulation Frame", "-1, if not 
simulating");
        
        prop = RNA_def_property(srna, "manta_start_frame", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "manta_start_frame");
@@ -671,47 +671,47 @@ static void rna_def_smoke_domain_settings(BlenderRNA 
*brna)
        RNA_def_property_range(prop, 0, 4);
        RNA_def_property_ui_range(prop, 0, 4, 1, -1);
        RNA_def_property_ui_text(prop, "UVs number", "Number of UV coordinate 
grids to use (Better not more than 2)");
-//     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_reset");
+       RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_reset");
        
-       prop = RNA_def_property(srna, "manta_clamp_noise", PROP_BOOLEAN, 
PROP_NONE);
+       prop = RNA_def_property(srna, "noise_clamp", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", 
MOD_SMOKE_NOISE_CLAMP);
-       RNA_def_property_ui_text(prop, "MantaFlow", "Use Mantaflow");
-//     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_resetCache");
+       RNA_def_property_ui_text(prop, "Clamp Noise", "");
+       RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_resetCache");
        
        prop = RNA_def_property(srna, "noise_clamp_neg", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "noise_clamp_neg");
        RNA_def_property_range(prop, 0.0, 2.0);
        RNA_def_property_ui_range(prop, 0.0, 1.0, 1.0, 5);
        RNA_def_property_ui_text(prop, "Clamp Negative Noise", "");
-//     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_resetCache");
+       RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_resetCache");
        
        prop = RNA_def_property(srna, "noise_clamp_pos", PROP_FLOAT, PROP_NONE);
        RNA_def_property_float_sdna(prop, NULL, "noise_clamp_pos");
        RNA_def_property_range(prop, 0.0, 2.0);
        RNA_def_property_ui_range(prop, 0.0, 1.0, 1.0, 5);
        RNA_def_property_ui_text(prop, "Clamp Positive Noise", "");
-//     RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, 
"rna_Smoke_resetCache");
+       RNA_def_property_update(prop, NC_OBJECT | ND_MODI

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to