diff options
author | Matt Ebb <matt@mke3.net> | 2010-03-25 09:27:25 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-03-25 09:27:25 +0300 |
commit | 33f880e8666e9bb0ed954fccb82bc23255a97868 (patch) | |
tree | c7b5e5283efd2540982d99917551e3a585b59720 /source/blender/makesdna/DNA_object_fluidsim.h | |
parent | 5bcca8206e3397b6d1a31e278a4e4bad9051e68f (diff) |
Restored Fluid Sim baking
This commit restores fluid sim baking functionality in 2.5, it's been on the todo for
a while, and was previously almost completely non-functional. The old
code was quite complicated and specific to the 2.4 animation system, so I've
pretty much rewritten most of it.
This includes:
* Animated variables work again - just key them in the UI. Non-animateable values
should be already set non-animateable in RNA, hopefully I got them all.
Available are: Domain Gravity / Domain Viscosity / Object loc/rot/scale /
Object initial velocity / Deforming meshes / Fluid control Attract strength /
Fluid control Attract radius / Fluid control Velocity strength /
Fluid control Velocity radius / Object Active status (checkbox next to fluid type)
The Domain time scale is still not yet implemented.
* Fluid sim now use global scene units data by default - when enabled, the
scene's global gravity value is used and when units are set (metric/imperial)
the simulation real world size is taken from the object's actual measurements.
* The baking process is now done in the background, using the nifty threaded
Jobs system. It's non-blocking and your domain object will show the simulated
fluid as it becomes available for that frame.
A nice extra thing for the future would be to improve the visualisation of the
object's state while baking, and also the jobs system/ui could do with some
touchups - currently it has to share a bit from the 'render' job, and appears as
'Render' in the header. Progress bars for jobs in the header would be great too.
Diffstat (limited to 'source/blender/makesdna/DNA_object_fluidsim.h')
-rw-r--r-- | source/blender/makesdna/DNA_object_fluidsim.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h index fa918fc30d9..700021eaceb 100644 --- a/source/blender/makesdna/DNA_object_fluidsim.h +++ b/source/blender/makesdna/DNA_object_fluidsim.h @@ -63,8 +63,10 @@ typedef struct FluidsimSettings { short viscosityExponent; /* gravity strength */ float gravx,gravy,gravz; - /* anim start end time */ + /* anim start end time (in seconds) */ float animStart, animEnd; + /* bake start end time (in blender frames) */ + int bakeStart, bakeEnd; /* g star param (LBM compressibility) */ float gstar; /* activate refinement? */ @@ -160,8 +162,10 @@ typedef struct FluidsimSettings { #define OB_FSPART_FLOAT (1<<4) #define OB_FSPART_TRACER (1<<5) -// new fluid bit flags for fss->flags - dg -#define OB_FLUIDSIM_REVERSE (1 << 0) +// new fluid bit flags for fss->flags +#define OB_FLUIDSIM_REVERSE (1 << 0) +#define OB_FLUIDSIM_ACTIVE (1 << 1) +#define OB_FLUIDSIM_OVERRIDE_TIME (1 << 2) #ifdef __cplusplus } |