diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2009-08-20 04:33:59 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2009-08-20 04:33:59 +0400 |
commit | 286c2ca80be4ae46dc220ada2fcc5bf636d5ff49 (patch) | |
tree | 91492852f1b0f8d6bc70d8b88113325e218e7f9d /source/blender/makesdna/DNA_modifier_types.h | |
parent | c21627e31b0e82f28e35af51cec681897285ff78 (diff) |
Smoke:
* cache for low res (deactivating high res for now)
* new way of view3d rendering of smoke (no longer 3 axes) -using 3dtexture now (introduced into gpu/intern)
* introducing LZO and LZMA libs into extern (makefiles missing for now)
* reducing memory usage after simulating for the frame ended (freeing temporary buffers)
* splitting smoke into 2 modifier for the cache-sake (it cannot handle more than 1 cache on the same modifier-index)
* no color on gui anymore
* fixing non-power-of-2 resolutions (hopefully)
* fixing select-deselect of domain drawing bug
* fixing drawobject.c coding style (making Ton happy) ;-)
HINT #1: If scons doesn't work -> cmakefiles are up-to-date, couldn't test scons (but i tried to mantain them, too)
CODERS HINT #1: we really need a way to disable adding all modifiers through "Add Modifiers" dropdown!
WARNING #1: before applying this commit, deactivate your SMOKE DOMAIN in your old files and save them then. You can open them then savely after that.
WARNING #2: File and cache format of smoke can be changed, this is not final!
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 9d1707599b9..33499574012 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -42,6 +42,7 @@ typedef enum ModifierType { eModifierType_Multires, eModifierType_Surface, eModifierType_Smoke, + eModifierType_SmokeHR, NUM_MODIFIER_TYPES } ModifierType; @@ -252,9 +253,36 @@ typedef struct SmokeModifierData { struct SmokeCollSettings *coll; /* collision objects */ float time; int type; /* domain, inflow, outflow, ... */ - struct PointCache *point_cache; /* definition is in DNA_object_force.h */ } SmokeModifierData; + +/* noise */ +#define MOD_SMOKE_NOISEWAVE (1<<0) +#define MOD_SMOKE_NOISEFFT (1<<1) +#define MOD_SMOKE_NOISECURL (1<<2) + +/* flags */ +#define MOD_SMOKE_SHOWHIGHRES (1<<0) /* show high resolution */ + +typedef struct SmokeHRModifierData { + ModifierData modifier; + + struct WTURBULENCE *wt; // WTURBULENCE object, if active + struct PointCache *point_cache; /* definition is in DNA_object_force.h */ + struct ListBase ptcaches; + struct GPUTexture *tex; + float *view3d; /* voxel data for display */ + unsigned int v3dnum; /* number of frame in view3d buffer */ + float time; + float strength; + int res[3]; + int maxres; + short noise; /* noise type: wave, curl, anisotropic */ + short pad; + int amplify; + int flags; +} SmokeHRModifierData; + typedef struct DisplaceModifierData { ModifierData modifier; |