[Bf-blender-cvs] [b920cc6bb37] fluid-mantaflow: openvdb changes for manta support
Sebastián Barschkis
noreply at git.blender.org
Tue Oct 24 21:42:56 CEST 2017
Commit: b920cc6bb371f54ed5616f8a6ea968637e9135c5
Author: Sebastián Barschkis
Date: Tue Oct 24 21:42:41 2017 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBb920cc6bb371f54ed5616f8a6ea968637e9135c5
openvdb changes for manta support
customization for obstacle grid to match mantaflow flags grid
===================================================================
M intern/openvdb/openvdb_capi.cc
M intern/openvdb/openvdb_capi.h
M release/scripts/startup/bl_ui/properties_physics_smoke.py
M source/blender/blenkernel/intern/pointcache.c
===================================================================
diff --git a/intern/openvdb/openvdb_capi.cc b/intern/openvdb/openvdb_capi.cc
index ef4f8c8820f..eb9dd1004fd 100644
--- a/intern/openvdb/openvdb_capi.cc
+++ b/intern/openvdb/openvdb_capi.cc
@@ -58,9 +58,9 @@ OpenVDBFloatGrid *OpenVDB_export_grid_fl(
return reinterpret_cast<OpenVDBFloatGrid *>(grid);
}
-OpenVDBIntGrid *OpenVDB_export_grid_ch(
+OpenVDBIntGrid *OpenVDB_export_grid_int(
OpenVDBWriter *writer,
- const char *name, unsigned char *data,
+ const char *name, int *data,
const int res[3], float matrix[4][4],
OpenVDBFloatGrid *mask)
{
@@ -120,9 +120,9 @@ void OpenVDB_import_grid_fl(
internal::OpenVDB_import_grid<openvdb::FloatGrid>(reader, name, data, res);
}
-void OpenVDB_import_grid_ch(
+void OpenVDB_import_grid_int(
OpenVDBReader *reader,
- const char *name, unsigned char **data,
+ const char *name, int **data,
const int res[3])
{
internal::OpenVDB_import_grid<openvdb::Int32Grid>(reader, name, data, res);
diff --git a/intern/openvdb/openvdb_capi.h b/intern/openvdb/openvdb_capi.h
index 2d2feeadcf1..a062d660700 100644
--- a/intern/openvdb/openvdb_capi.h
+++ b/intern/openvdb/openvdb_capi.h
@@ -52,9 +52,9 @@ struct OpenVDBFloatGrid *OpenVDB_export_grid_fl(
const int res[3], float matrix[4][4],
struct OpenVDBFloatGrid *mask);
-struct OpenVDBIntGrid *OpenVDB_export_grid_ch(
+struct OpenVDBIntGrid *OpenVDB_export_grid_int(
struct OpenVDBWriter *writer,
- const char *name, unsigned char *data,
+ const char *name, int *data,
const int res[3], float matrix[4][4],
struct OpenVDBFloatGrid *mask);
@@ -71,9 +71,9 @@ void OpenVDB_import_grid_fl(
const char *name, float **data,
const int res[3]);
-void OpenVDB_import_grid_ch(
+void OpenVDB_import_grid_int(
struct OpenVDBReader *reader,
- const char *name, unsigned char **data,
+ const char *name, int **data,
const int res[3]);
void OpenVDB_import_grid_vec(
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index 91cb542d969..714f7a52b71 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -501,7 +501,7 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel):
if cache_volume_format == 'POINTCACHE':
layout.label(text="Compression:")
layout.row().prop(domain, "point_cache_compress_type", expand=True)
- elif cache_file_format == 'OPENVDB':
+ elif cache_volume_format == 'OPENVDB':
if not bpy.app.build_options.openvdb:
layout.label("Built without OpenVDB support")
return
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 23324ab2686..0a2bd19baac 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -1102,9 +1102,9 @@ 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";
+ const char *name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "density" : "density low";
density_grid = OpenVDB_export_grid_fl(writer, name, dens, sds->res, sds->fluidmat, NULL);
- clip_grid = sds->wt ? clip_grid : density_grid;
+ clip_grid = (sds->flags & MOD_SMOKE_HIGHRES) ? clip_grid : density_grid;
OpenVDB_export_grid_fl(writer, "shadow", sds->shadow, sds->res, sds->fluidmat, NULL);
@@ -1113,21 +1113,21 @@ static int ptcache_smoke_openvdb_write(struct OpenVDBWriter *writer, void *smoke
}
if (fluid_fields & SM_ACTIVE_FIRE) {
- name = (!sds->wt) ? "flame" : "flame low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "flame" : "flame low";
OpenVDB_export_grid_fl(writer, name, flame, sds->res, sds->fluidmat, density_grid);
- name = (!sds->wt) ? "fuel" : "fuel low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "fuel" : "fuel low";
OpenVDB_export_grid_fl(writer, name, fuel, sds->res, sds->fluidmat, density_grid);
- name = (!sds->wt) ? "react" : "react low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "react" : "react low";
OpenVDB_export_grid_fl(writer, name, react, sds->res, sds->fluidmat, density_grid);
}
if (fluid_fields & SM_ACTIVE_COLORS) {
- name = (!sds->wt) ? "color" : "color low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "color" : "color low";
OpenVDB_export_grid_vec(writer, name, r, g, b, sds->res, sds->fluidmat, VEC_INVARIANT, true, 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_int(writer, "obstacles", obstacles, sds->res, sds->fluidmat, NULL);
}
return 1;
@@ -1209,7 +1209,7 @@ 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->flags & MOD_SMOKE_HIGHRES)) ? "density" : "density low";
OpenVDB_import_grid_fl(reader, name, &dens, sds->res);
if (cache_fields & SM_ACTIVE_HEAT) {
@@ -1217,21 +1217,21 @@ static int ptcache_smoke_openvdb_read(struct OpenVDBReader *reader, void *smoke_
}
if (cache_fields & SM_ACTIVE_FIRE) {
- name = (!sds->wt) ? "flame" : "flame low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "flame" : "flame low";
OpenVDB_import_grid_fl(reader, name, &flame, sds->res);
- name = (!sds->wt) ? "fuel" : "fuel low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "fuel" : "fuel low";
OpenVDB_import_grid_fl(reader, name, &fuel, sds->res);
- name = (!sds->wt) ? "react" : "react low";
+ name = (!(sds->flags & MOD_SMOKE_HIGHRES)) ? "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->flags & MOD_SMOKE_HIGHRES)) ? "color" : "color low";
OpenVDB_import_grid_vec(reader, name, &r, &g, &b, sds->res);
}
OpenVDB_import_grid_vec(reader, "velocity", &vx, &vy, &vz, sds->res);
- OpenVDB_import_grid_ch(reader, "obstacles", &obstacles, sds->res);
+ OpenVDB_import_grid_int(reader, "obstacles", &obstacles, sds->res);
}
if (sds->fluid && sds->flags & MOD_SMOKE_HIGHRES) {
More information about the Bf-blender-cvs
mailing list