Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Hamalainen <blender@miikah.org>2013-05-17 21:45:37 +0400
committerMiika Hamalainen <blender@miikah.org>2013-05-17 21:45:37 +0400
commitd3a6c0c834d34b0158443bee8064631d289d5a57 (patch)
treedfd88517895ce42b767b29bb89b1a7df96b3b348 /source/blender/makesdna
parentc70a900736e28308600c5b3359070f38bc64daa6 (diff)
Smoke simulator: Add flow subframes and ability to set custom particle size.
Previously it was nearly impossible to have fast moving objects emitting smoke or they would just leave behind a row of smoke poofs instead of continious stream of smoke. Now it's possible to set number of subframes for each smoke flow. Another new thing is ability to set size of smoke flow particles instead of using closest smoke cell. This also works with my earlier "full sample" commit, so no more blocky particles either. :) For more info check my blog post: http://www.miikahweb.com/en/blog/2013/05/17/blender-smoke-subframes This commit also includes couple of fixes I spotted while testing: * Fix: dissolve was applied at different time for low res and high res simulations. * Fix: full sample setting didn't get copied with domain.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_smoke_types.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h
index 042c43c5b93..d01eceb44f0 100644
--- a/source/blender/makesdna/DNA_smoke_types.h
+++ b/source/blender/makesdna/DNA_smoke_types.h
@@ -166,6 +166,7 @@ typedef struct SmokeDomainSettings {
#define MOD_SMOKE_FLOW_ABSOLUTE (1<<1) /*old style emission*/
#define MOD_SMOKE_FLOW_INITVELOCITY (1<<2) /* passes particles speed to the smoke */
#define MOD_SMOKE_FLOW_TEXTUREEMIT (1<<3) /* use texture to control emission speed */
+#define MOD_SMOKE_FLOW_USE_PART_SIZE (1<<4) /* use specific size for particles instead of closest cell */
typedef struct SmokeFlowSettings {
struct SmokeModifierData *smd; /* for fast RNA access */
@@ -186,6 +187,8 @@ typedef struct SmokeFlowSettings {
float temp; /* delta temperature (temp - ambient temp) */
float volume_density; /* density emitted within mesh volume */
float surface_distance; /* maximum emission distance from mesh surface */
+ float particle_size;
+ int subframes;
/* texture control */
float texture_size;
float texture_offset;