diff options
author | Miika Hamalainen <blender@miikah.org> | 2013-05-10 20:18:00 +0400 |
---|---|---|
committer | Miika Hamalainen <blender@miikah.org> | 2013-05-10 20:18:00 +0400 |
commit | 2f9f3dd5903eeec514640de05a45cfd21d168397 (patch) | |
tree | 1afc247514d4802f72262d0859998d4533ddee6e /source/blender/makesdna | |
parent | 764420ed3dec8e65fdfda1e42401362a6878ed0b (diff) |
Smoke: Add new "Full Sample" option to high resolution smoke panel.
This is hopefully the ultimate solution against smoke blockiness near emitter.
Previously high resolution flow/emitter voxels were generated based on the low resolution ones. So if you had 32 resolution and 4 division high resolution, it still used smoke flow generated from those 32 resolution voxels. Now I introduced a new sampling method called "Full Sample" that generates full resolution flow for for high resolution domain as well.
Read more about it in my blog post: https://www.miikahweb.com/en/blog/2013/05/10/getting-rid-of-smoke-blockiness
Also changed "quick smoke" operator default voxel data interpolation mode to "Cubic B-Spline" to smoothen out it even more.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_smoke_types.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_smoke_types.h b/source/blender/makesdna/DNA_smoke_types.h index fa31717b9e2..042c43c5b93 100644 --- a/source/blender/makesdna/DNA_smoke_types.h +++ b/source/blender/makesdna/DNA_smoke_types.h @@ -37,7 +37,7 @@ #define MOD_SMOKE_DISSOLVE (1<<2) /* let smoke dissolve */ #define MOD_SMOKE_DISSOLVE_LOG (1<<3) /* using 1/x for dissolve */ -#define MOD_SMOKE_HIGH_SMOOTH (1<<5) /* smoothens high res emission*/ +#define MOD_SMOKE_HIGH_SMOOTH (1<<5) /* -- Deprecated -- */ #define MOD_SMOKE_FILE_LOAD (1<<6) /* flag for file load */ #define MOD_SMOKE_ADAPTIVE_DOMAIN (1<<7) @@ -62,6 +62,11 @@ #define SM_COLL_RIGID 1 #define SM_COLL_ANIMATED 2 +/* high resolution sampling types */ +#define SM_HRES_NEAREST 0 +#define SM_HRES_LINEAR 1 +#define SM_HRES_FULLSAMPLE 2 + /* smoke data fileds (active_fields) */ #define SM_ACTIVE_HEAT (1<<0) #define SM_ACTIVE_FIRE (1<<1) @@ -132,7 +137,7 @@ typedef struct SmokeDomainSettings { float vorticity; int active_fields; float active_color[3]; /* monitor color situation of simulation */ - int pad; + int highres_sampling; /* flame parameters */ float burning_rate, flame_smoke, flame_vorticity; |