[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30811] trunk/blender: Smoke:

Daniel Genrich daniel.genrich at gmx.net
Tue Jul 27 17:33:21 CEST 2010


Revision: 30811
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30811
Author:   genscher
Date:     2010-07-27 17:33:21 +0200 (Tue, 27 Jul 2010)

Log Message:
-----------
Smoke:
- Fix typo in tooltip
- Add timeframe independand timesteps

Modified Paths:
--------------
    trunk/blender/intern/smoke/extern/smoke_API.h
    trunk/blender/intern/smoke/intern/smoke_API.cpp
    trunk/blender/source/blender/blenkernel/intern/smoke.c
    trunk/blender/source/blender/makesrna/intern/rna_smoke.c

Modified: trunk/blender/intern/smoke/extern/smoke_API.h
===================================================================
--- trunk/blender/intern/smoke/extern/smoke_API.h	2010-07-27 15:04:50 UTC (rev 30810)
+++ trunk/blender/intern/smoke/extern/smoke_API.h	2010-07-27 15:33:21 UTC (rev 30811)
@@ -42,7 +42,7 @@
 void smoke_free(struct FLUID_3D *fluid);
 
 void smoke_initBlenderRNA(struct FLUID_3D *fluid, float *alpha, float *beta, float *dt_factor, float *vorticity, int *border_colli);
-void smoke_step(struct FLUID_3D *fluid, size_t framenr);
+void smoke_step(struct FLUID_3D *fluid, size_t framenr, float fps);
 
 float *smoke_get_density(struct FLUID_3D *fluid);
 float *smoke_get_heat(struct FLUID_3D *fluid);

Modified: trunk/blender/intern/smoke/intern/smoke_API.cpp
===================================================================
--- trunk/blender/intern/smoke/intern/smoke_API.cpp	2010-07-27 15:04:50 UTC (rev 30810)
+++ trunk/blender/intern/smoke/intern/smoke_API.cpp	2010-07-27 15:33:21 UTC (rev 30811)
@@ -75,13 +75,13 @@
 	return x + y * max_x;
 }
 
-extern "C" void smoke_step(FLUID_3D *fluid, size_t framenr)
+extern "C" void smoke_step(FLUID_3D *fluid, size_t framenr, float fps)
 {
 	/* stability values copied from wturbulence.cpp */
 	const int maxSubSteps = 25;
 	const float maxVel = 0.5f; /* TODO: maybe 0.5 is still too high, please confirm! -dg */
 
-	const float dt = DT_DEFAULT;
+	float dt = DT_DEFAULT;
 	float maxVelMag = 0.0f;
 	int totalSubsteps;
 	int substep = 0;
@@ -97,6 +97,9 @@
 			maxVelMag = vtemp;
 	}
 
+	/* adapt timestep for different framerates, dt = 0.1 is at 25fps */
+	dt *= (25.0f / fps);
+
 	maxVelMag = sqrt(maxVelMag) * dt * (*(fluid->_dtFactor));
 	totalSubsteps = (int)((maxVelMag / maxVel) + 1.0f); /* always round up */
 	totalSubsteps = (totalSubsteps < 1) ? 1 : totalSubsteps;

Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c	2010-07-27 15:04:50 UTC (rev 30810)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c	2010-07-27 15:33:21 UTC (rev 30811)
@@ -1413,7 +1413,7 @@
 		{
 			if(sds->flags & MOD_SMOKE_DISSOLVE)
 				smoke_dissolve(sds->fluid, sds->diss_speed, sds->flags & MOD_SMOKE_DISSOLVE_LOG);
-			smoke_step(sds->fluid, smd->time);
+			smoke_step(sds->fluid, smd->time, scene->r.frs_sec / scene->r.frs_sec_base);
 		}
 
 		// create shadows before writing cache so we get nice shadows for sstartframe, too

Modified: trunk/blender/source/blender/makesrna/intern/rna_smoke.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_smoke.c	2010-07-27 15:04:50 UTC (rev 30810)
+++ trunk/blender/source/blender/makesrna/intern/rna_smoke.c	2010-07-27 15:33:21 UTC (rev 30811)
@@ -245,7 +245,7 @@
 	prop= RNA_def_property(srna, "smoke_domain_colli", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "border_collisions");
 	RNA_def_property_enum_items(prop, smoke_domain_colli_items);
-	RNA_def_property_ui_text(prop, "Cache Compression", "Compression method to be used");
+	RNA_def_property_ui_text(prop, "Border Collisions", "Selects which domain border will be treated as collision object.");
 	RNA_def_property_update(prop, 0, NULL);
 
 	prop= RNA_def_property(srna, "effector_weights", PROP_POINTER, PROP_NONE);





More information about the Bf-blender-cvs mailing list