Merge branch 'master' into blender2.8
Conflicts: source/blender/blenkernel/BKE_blender_version.h
This commit is contained in:
@@ -972,20 +972,20 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
|
||||
|
||||
smoke_turbulence_export(sds->wt, &dens, &react, &flame, &fuel, &r, &g, &b, &tcu, &tcv, &tcw);
|
||||
|
||||
wt_density_grid = OpenVDB_export_grid_fl(writer, "density", dens, sds->res_wt, sds->fluidmat_wt, NULL);
|
||||
wt_density_grid = OpenVDB_export_grid_fl(writer, "density", dens, sds->res_wt, sds->fluidmat_wt, sds->clipping, NULL);
|
||||
clip_grid = wt_density_grid;
|
||||
|
||||
if (fluid_fields & SM_ACTIVE_FIRE) {
|
||||
OpenVDB_export_grid_fl(writer, "flame", flame, sds->res_wt, sds->fluidmat_wt, wt_density_grid);
|
||||
OpenVDB_export_grid_fl(writer, "fuel", fuel, sds->res_wt, sds->fluidmat_wt, wt_density_grid);
|
||||
OpenVDB_export_grid_fl(writer, "react", react, sds->res_wt, sds->fluidmat_wt, wt_density_grid);
|
||||
OpenVDB_export_grid_fl(writer, "flame", flame, sds->res_wt, sds->fluidmat_wt, sds->clipping, wt_density_grid);
|
||||
OpenVDB_export_grid_fl(writer, "fuel", fuel, sds->res_wt, sds->fluidmat_wt, sds->clipping, wt_density_grid);
|
||||
OpenVDB_export_grid_fl(writer, "react", react, sds->res_wt, sds->fluidmat_wt, sds->clipping, wt_density_grid);
|
||||
}
|
||||
|
||||
if (fluid_fields & SM_ACTIVE_COLORS) {
|
||||
OpenVDB_export_grid_vec(writer, "color", r, g, b, sds->res_wt, sds->fluidmat_wt, VEC_INVARIANT, true, wt_density_grid);
|
||||
OpenVDB_export_grid_vec(writer, "color", r, g, b, sds->res_wt, sds->fluidmat_wt, VEC_INVARIANT, true, sds->clipping, wt_density_grid);
|
||||
}
|
||||
|
||||
OpenVDB_export_grid_vec(writer, "texture coordinates", tcu, tcv, tcw, sds->res, sds->fluidmat, VEC_INVARIANT, false, wt_density_grid);
|
||||
OpenVDB_export_grid_vec(writer, "texture coordinates", tcu, tcv, tcw, sds->res, sds->fluidmat, VEC_INVARIANT, false, sds->clipping, wt_density_grid);
|
||||
}
|
||||
|
||||
if (sds->fluid) {
|
||||
@@ -999,33 +999,33 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
|
||||
OpenVDBWriter_add_meta_fl(writer, "blender/smoke/dx", dx);
|
||||
OpenVDBWriter_add_meta_fl(writer, "blender/smoke/dt", dt);
|
||||
|
||||
const char *name = (!sds->wt) ? "density" : "density low";
|
||||
density_grid = OpenVDB_export_grid_fl(writer, name, dens, sds->res, sds->fluidmat, NULL);
|
||||
const char *name = (!sds->wt) ? "density" : "density_low";
|
||||
density_grid = OpenVDB_export_grid_fl(writer, name, dens, sds->res, sds->fluidmat, sds->clipping, NULL);
|
||||
clip_grid = sds->wt ? clip_grid : density_grid;
|
||||
|
||||
OpenVDB_export_grid_fl(writer, "shadow", sds->shadow, sds->res, sds->fluidmat, NULL);
|
||||
OpenVDB_export_grid_fl(writer, "shadow", sds->shadow, sds->res, sds->fluidmat, sds->clipping, NULL);
|
||||
|
||||
if (fluid_fields & SM_ACTIVE_HEAT) {
|
||||
OpenVDB_export_grid_fl(writer, "heat", heat, sds->res, sds->fluidmat, clip_grid);
|
||||
OpenVDB_export_grid_fl(writer, "heat old", heatold, sds->res, sds->fluidmat, clip_grid);
|
||||
OpenVDB_export_grid_fl(writer, "heat", heat, sds->res, sds->fluidmat, sds->clipping, clip_grid);
|
||||
OpenVDB_export_grid_fl(writer, "heat_old", heatold, sds->res, sds->fluidmat, sds->clipping, clip_grid);
|
||||
}
|
||||
|
||||
if (fluid_fields & SM_ACTIVE_FIRE) {
|
||||
name = (!sds->wt) ? "flame" : "flame low";
|
||||
OpenVDB_export_grid_fl(writer, name, flame, sds->res, sds->fluidmat, density_grid);
|
||||
name = (!sds->wt) ? "fuel" : "fuel low";
|
||||
OpenVDB_export_grid_fl(writer, name, fuel, sds->res, sds->fluidmat, density_grid);
|
||||
name = (!sds->wt) ? "react" : "react low";
|
||||
OpenVDB_export_grid_fl(writer, name, react, sds->res, sds->fluidmat, density_grid);
|
||||
name = (!sds->wt) ? "flame" : "flame_low";
|
||||
OpenVDB_export_grid_fl(writer, name, flame, sds->res, sds->fluidmat, sds->clipping, density_grid);
|
||||
name = (!sds->wt) ? "fuel" : "fuel_low";
|
||||
OpenVDB_export_grid_fl(writer, name, fuel, sds->res, sds->fluidmat, sds->clipping, density_grid);
|
||||
name = (!sds->wt) ? "react" : "react_low";
|
||||
OpenVDB_export_grid_fl(writer, name, react, sds->res, sds->fluidmat, sds->clipping, density_grid);
|
||||
}
|
||||
|
||||
if (fluid_fields & SM_ACTIVE_COLORS) {
|
||||
name = (!sds->wt) ? "color" : "color low";
|
||||
OpenVDB_export_grid_vec(writer, name, r, g, b, sds->res, sds->fluidmat, VEC_INVARIANT, true, density_grid);
|
||||
name = (!sds->wt) ? "color" : "color_low";
|
||||
OpenVDB_export_grid_vec(writer, name, r, g, b, sds->res, sds->fluidmat, VEC_INVARIANT, true, sds->clipping, density_grid);
|
||||
}
|
||||
|
||||
OpenVDB_export_grid_vec(writer, "velocity", vx, vy, vz, sds->res, sds->fluidmat, VEC_CONTRAVARIANT_RELATIVE, false, clip_grid);
|
||||
OpenVDB_export_grid_ch(writer, "obstacles", obstacles, sds->res, sds->fluidmat, NULL);
|
||||
OpenVDB_export_grid_vec(writer, "velocity", vx, vy, vz, sds->res, sds->fluidmat, VEC_CONTRAVARIANT_RELATIVE, false, sds->clipping, clip_grid);
|
||||
OpenVDB_export_grid_ch(writer, "obstacles", obstacles, sds->res, sds->fluidmat, sds->clipping, NULL);
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -1104,25 +1104,25 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
|
||||
|
||||
OpenVDB_import_grid_fl(reader, "shadow", &sds->shadow, sds->res);
|
||||
|
||||
const char *name = (!sds->wt) ? "density" : "density low";
|
||||
const char *name = (!sds->wt) ? "density" : "density_low";
|
||||
OpenVDB_import_grid_fl(reader, name, &dens, sds->res);
|
||||
|
||||
if (cache_fields & SM_ACTIVE_HEAT) {
|
||||
OpenVDB_import_grid_fl(reader, "heat", &heat, sds->res);
|
||||
OpenVDB_import_grid_fl(reader, "heat old", &heatold, sds->res);
|
||||
OpenVDB_import_grid_fl(reader, "heat_old", &heatold, sds->res);
|
||||
}
|
||||
|
||||
if (cache_fields & SM_ACTIVE_FIRE) {
|
||||
name = (!sds->wt) ? "flame" : "flame low";
|
||||
name = (!sds->wt) ? "flame" : "flame_low";
|
||||
OpenVDB_import_grid_fl(reader, name, &flame, sds->res);
|
||||
name = (!sds->wt) ? "fuel" : "fuel low";
|
||||
name = (!sds->wt) ? "fuel" : "fuel_low";
|
||||
OpenVDB_import_grid_fl(reader, name, &fuel, sds->res);
|
||||
name = (!sds->wt) ? "react" : "react low";
|
||||
name = (!sds->wt) ? "react" : "react_low";
|
||||
OpenVDB_import_grid_fl(reader, name, &react, sds->res);
|
||||
}
|
||||
|
||||
if (cache_fields & SM_ACTIVE_COLORS) {
|
||||
name = (!sds->wt) ? "color" : "color low";
|
||||
name = (!sds->wt) ? "color" : "color_low";
|
||||
OpenVDB_import_grid_vec(reader, name, &r, &g, &b, sds->res);
|
||||
}
|
||||
|
||||
|
||||
@@ -553,6 +553,8 @@ void smokeModifier_createType(struct SmokeModifierData *smd)
|
||||
|
||||
smd->domain->coba = NULL;
|
||||
smd->domain->coba_field = FLUID_FIELD_DENSITY;
|
||||
|
||||
smd->domain->clipping = 1e-3f;
|
||||
}
|
||||
else if (smd->type & MOD_SMOKE_TYPE_FLOW)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user