diff options
Diffstat (limited to 'source/blender/makesdna/DNA_fluid_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_fluid_types.h | 145 |
1 files changed, 84 insertions, 61 deletions
diff --git a/source/blender/makesdna/DNA_fluid_types.h b/source/blender/makesdna/DNA_fluid_types.h index e8a22d8c821..e3f4865e894 100644 --- a/source/blender/makesdna/DNA_fluid_types.h +++ b/source/blender/makesdna/DNA_fluid_types.h @@ -45,6 +45,7 @@ enum { FLUID_DOMAIN_USE_FRACTIONS = (1 << 13), /* Use second order obstacles. */ FLUID_DOMAIN_DELETE_IN_OBSTACLE = (1 << 14), /* Delete fluid inside obstacles. */ FLUID_DOMAIN_USE_DIFFUSION = (1 << 15), /* Use diffusion (e.g. viscosity, surface tension). */ + FLUID_DOMAIN_USE_RESUMABLE_CACHE = (1 << 16), /* Determine if cache should be resumable. */ }; /* Border collisions. */ @@ -214,6 +215,7 @@ enum { #define FLUID_DOMAIN_DIR_SCRIPT "script" #define FLUID_DOMAIN_SMOKE_SCRIPT "smoke_script.py" #define FLUID_DOMAIN_LIQUID_SCRIPT "liquid_script.py" +#define FLUID_CACHE_VERSION "C01" /* Cache file names. */ #define FLUID_NAME_CONFIG "config" @@ -224,24 +226,24 @@ enum { #define FLUID_NAME_GUIDING "fluid_guiding" /* Fluid object names.*/ -#define FLUID_NAME_FLAGS "flags" -#define FLUID_NAME_VELOCITY "vel" -#define FLUID_NAME_VELOCITYTMP "velocityTmp" +#define FLUID_NAME_FLAGS "flags" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_VELOCITY "velocity" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_VELOCITYTMP "velocity_previous" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_VELOCITYX "x_vel" #define FLUID_NAME_VELOCITYY "y_vel" #define FLUID_NAME_VELOCITYZ "z_vel" #define FLUID_NAME_PRESSURE "pressure" -#define FLUID_NAME_PHIOBS "phiObs" +#define FLUID_NAME_PHIOBS "phi_obstacle" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_PHISIN "phiSIn" -#define FLUID_NAME_PHIIN "phiIn" -#define FLUID_NAME_PHIOUT "phiOut" +#define FLUID_NAME_PHIIN "phi_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PHIOUT "phi_out" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_FORCES "forces" #define FLUID_NAME_FORCE_X "x_force" #define FLUID_NAME_FORCE_Y "y_force" #define FLUID_NAME_FORCE_Z "z_force" #define FLUID_NAME_NUMOBS "numObs" #define FLUID_NAME_PHIOBSSIN "phiObsSIn" -#define FLUID_NAME_PHIOBSIN "phiObsIn" +#define FLUID_NAME_PHIOBSIN "phi_obstacle_inflow" #define FLUID_NAME_OBVEL "obvel" #define FLUID_NAME_OBVELC "obvelC" #define FLUID_NAME_OBVEL_X "x_obvel" @@ -254,44 +256,48 @@ enum { #define FLUID_NAME_INVEL_Y "y_invel" #define FLUID_NAME_INVEL_Z "z_invel" #define FLUID_NAME_PHIOUTSIN "phiOutSIn" -#define FLUID_NAME_PHIOUTIN "phiOutIn" +#define FLUID_NAME_PHIOUTIN "phi_out_inflow" /* Smoke object names. */ -#define FLUID_NAME_SHADOW "shadow" -#define FLUID_NAME_EMISSION "emission" +#define FLUID_NAME_SHADOW "shadow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_EMISSION "emission" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_EMISSIONIN "emissionIn" -#define FLUID_NAME_DENSITY "density" -#define FLUID_NAME_DENSITYIN "densityIn" +#define FLUID_NAME_DENSITY "density" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_DENSITYIN "density_inflow" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_HEAT "heat" #define FLUID_NAME_HEATIN "heatIn" -#define FLUID_NAME_COLORR "color_r" -#define FLUID_NAME_COLORG "color_g" -#define FLUID_NAME_COLORB "color_b" -#define FLUID_NAME_COLORRIN "color_r_in" -#define FLUID_NAME_COLORGIN "color_g_in" -#define FLUID_NAME_COLORBIN "color_b_in" -#define FLUID_NAME_FLAME "flame" -#define FLUID_NAME_FUEL "fuel" -#define FLUID_NAME_REACT "react" -#define FLUID_NAME_FUELIN "fuelIn" -#define FLUID_NAME_REACTIN "reactIn" +#define FLUID_NAME_TEMPERATURE "temperature" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_TEMPERATUREIN "temperature_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORR "color_r" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORG "color_g" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORB "color_b" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORRIN "color_r_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORGIN "color_g_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORBIN "color_b_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_FLAME "flame" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_FUEL "fuel" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_REACT "react" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_FUELIN "fuel_inflow" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_REACTIN "react_inflow" /* == OpenVDB grid attribute name. */ /* Liquid object names. */ -#define FLUID_NAME_PHIPARTS "phiParts" -#define FLUID_NAME_PHI "phi" -#define FLUID_NAME_PHITMP "phiTmp" +#define FLUID_NAME_PHIPARTS "phi_particles" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PHI "phi" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PHITMP "phi_previous" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_VELOCITYOLD "velOld" #define FLUID_NAME_VELOCITYPARTS "velParts" #define FLUID_NAME_MAPWEIGHTS "mapWeights" #define FLUID_NAME_PP "pp" #define FLUID_NAME_PVEL "pVel" +#define FLUID_NAME_PARTS "particles" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PARTSVELOCITY "particles_velocity" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_PINDEX "pindex" #define FLUID_NAME_GPI "gpi" #define FLUID_NAME_CURVATURE "gpi" /* Noise object names. */ #define FLUID_NAME_VELOCITY_NOISE "velocity_noise" -#define FLUID_NAME_DENSITY_NOISE "density_noise" +#define FLUID_NAME_DENSITY_NOISE "density_noise" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_PHIIN_NOISE "phiIn_noise" #define FLUID_NAME_PHIOUT_NOISE "phiOut_noise" #define FLUID_NAME_PHIOBS_NOISE "phiObs_noise" @@ -306,11 +312,11 @@ enum { #define FLUID_NAME_TEXTURE_U2 "textureU2" #define FLUID_NAME_TEXTURE_V2 "textureV2" #define FLUID_NAME_TEXTURE_W2 "textureW2" -#define FLUID_NAME_UV0 "uvGrid0" -#define FLUID_NAME_UV1 "uvGrid1" -#define FLUID_NAME_COLORR_NOISE "color_r_noise" -#define FLUID_NAME_COLORG_NOISE "color_g_noise" -#define FLUID_NAME_COLORB_NOISE "color_b_noise" +#define FLUID_NAME_UV0 "uv_grid_0" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_UV1 "uv_grid_1" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORR_NOISE "color_r_noise" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORG_NOISE "color_g_noise" /* == OpenVDB grid attribute name. */ +#define FLUID_NAME_COLORB_NOISE "color_b_noise" /* == OpenVDB grid attribute name. */ #define FLUID_NAME_FLAME_NOISE "flame_noise" #define FLUID_NAME_FUEL_NOISE "fuel_noise" #define FLUID_NAME_REACT_NOISE "react_noise" @@ -321,7 +327,8 @@ enum { #define FLUID_NAME_PP_MESH "pp_mesh" #define FLUID_NAME_FLAGS_MESH "flags_mesh" #define FLUID_NAME_LMESH "lMesh" -#define FLUID_NAME_VELOCITYVEC_MESH "lVelMesh" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_VELOCITYVEC_MESH "vertex_velocities_mesh" #define FLUID_NAME_VELOCITY_MESH "velocity_mesh" #define FLUID_NAME_PINDEX_MESH "pindex_mesh" #define FLUID_NAME_GPI_MESH "gpi_mesh" @@ -329,18 +336,28 @@ enum { /* Particles object names. */ #define FLUID_NAME_PP_PARTICLES "ppSnd" #define FLUID_NAME_PVEL_PARTICLES "pVelSnd" -#define FLUID_NAME_PFORCE_PARTICLES "pForceSnd" #define FLUID_NAME_PLIFE_PARTICLES "pLifeSnd" -#define FLUID_NAME_VELOCITY_PARTICLES "velocity_particles" -#define FLUID_NAME_FLAGS_PARTICLES "flags_particles" -#define FLUID_NAME_PHI_PARTICLES "phi_particles" -#define FLUID_NAME_PHIOBS_PARTICLES "phiObs_particles" -#define FLUID_NAME_PHIOUT_PARTICLES "phiOut_particles" -#define FLUID_NAME_NORMAL_PARTICLES "normal_particles" -#define FLUID_NAME_NEIGHBORRATIO_PARTICLES "neighborRatio_particles" -#define FLUID_NAME_TRAPPEDAIR_PARTICLES "trappedAir_particles" -#define FLUID_NAME_WAVECREST_PARTICLES "waveCrest_particles" -#define FLUID_NAME_KINETICENERGY_PARTICLES "kineticEnergy_particles" +#define FLUID_NAME_PFORCE_PARTICLES "pForceSnd" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PARTS_PARTICLES "particles_secondary" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PARTSVEL_PARTICLES "particles_velocity_secondary" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_PARTSLIFE_PARTICLES "particles_life_secondary" +#define FLUID_NAME_PARTSFORCE_PARTICLES "particles_force_secondary" +#define FLUID_NAME_VELOCITY_PARTICLES "velocity_secondary" +#define FLUID_NAME_FLAGS_PARTICLES "flags_secondary" +#define FLUID_NAME_PHI_PARTICLES "phi_secondary" +#define FLUID_NAME_PHIOBS_PARTICLES "phiObs_secondary" +#define FLUID_NAME_PHIOUT_PARTICLES "phiOut_secondary" +#define FLUID_NAME_NORMAL_PARTICLES "normal_secondary" +#define FLUID_NAME_NEIGHBORRATIO_PARTICLES "neighbor_ratio_secondary" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_TRAPPEDAIR_PARTICLES "trapped_air_secondary" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_WAVECREST_PARTICLES "wave_crest_secondary" +/* == OpenVDB grid attribute name. */ +#define FLUID_NAME_KINETICENERGY_PARTICLES "kinetic_energy_secondary" /* Guiding object names. */ #define FLUID_NAME_VELT "velT" @@ -349,9 +366,9 @@ enum { #define FLUID_NAME_PHIGUIDEIN "phiGuideIn" #define FLUID_NAME_GUIDEVELC "guidevelC" #define FLUID_NAME_GUIDEVEL_X "x_guidevel" -#define FLUID_NAME_GUIDEVEL_Y "Y_guidevel" +#define FLUID_NAME_GUIDEVEL_Y "y_guidevel" #define FLUID_NAME_GUIDEVEL_Z "z_guidevel" -#define FLUID_NAME_GUIDEVEL "guidevel" +#define FLUID_NAME_GUIDEVEL "velocity_guide" /* Cache file extensions. */ #define FLUID_DOMAIN_EXTENSION_UNI ".uni" @@ -374,7 +391,18 @@ enum { enum { FLUID_DOMAIN_CACHE_REPLAY = 0, FLUID_DOMAIN_CACHE_MODULAR = 1, - FLUID_DOMAIN_CACHE_FINAL = 2, + FLUID_DOMAIN_CACHE_ALL = 2, +}; + +enum { + VDB_COMPRESSION_BLOSC = 0, + VDB_COMPRESSION_ZIP = 1, + VDB_COMPRESSION_NONE = 2, +}; + +enum { + VDB_PRECISION_HALF_FLOAT = 0, + VDB_PRECISION_FULL_FLOAT = 1, }; /* Deprecated values (i.e. all defines and enums below this line up until typedefs). */ @@ -391,12 +419,6 @@ enum { SM_HRES_FULLSAMPLE = 2, }; -enum { - VDB_COMPRESSION_BLOSC = 0, - VDB_COMPRESSION_ZIP = 1, - VDB_COMPRESSION_NONE = 2, -}; - typedef struct FluidDomainVertexVelocity { float vel[3]; } FluidDomainVertexVelocity; @@ -566,7 +588,8 @@ typedef struct FluidDomainSettings { char cache_directory[1024]; char error[64]; /* Bake error description. */ short cache_type; - char _pad8[2]; /* Unused. */ + char cache_id[4]; /* Run-time only */ + char _pad8[6]; /* Time options. */ float dt; @@ -591,17 +614,17 @@ typedef struct FluidDomainSettings { char coba_field; /* Simulation field used for the color mapping. */ char interp_method; + /* OpenVDB cache options. */ + int openvdb_compression; + float clipping; + char openvdb_data_depth; + char _pad9[7]; /* Unused. */ + /* -- Deprecated / unsed options (below). -- */ /* View options. */ int viewsettings; - char _pad9[4]; /* Unused. */ - - /* OpenVDB cache options. */ - int openvdb_comp; - float clipping; - char data_depth; - char _pad10[7]; /* Unused. */ + char _pad10[4]; /* Unused. */ /* Pointcache options. */ /* Smoke uses only one cache from now on (index [0]), but keeping the array for now for reading |